2020-12-18 11:26:17 +00:00
|
|
|
name: build
|
2022-09-28 15:34:41 -06:00
|
|
|
on: [push, pull_request]
|
2020-12-18 10:41:27 +00:00
|
|
|
jobs:
|
2020-12-18 11:09:03 +00:00
|
|
|
linux:
|
2020-12-18 10:41:27 +00:00
|
|
|
runs-on: ubuntu-latest
|
2022-03-18 12:16:20 -06:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2022-09-22 10:34:38 +01:00
|
|
|
cc: [gcc, clang, g++, clang++]
|
|
|
|
target: [test, mip_test]
|
2022-03-18 12:16:20 -06:00
|
|
|
ssl: [MBEDTLS, OPENSSL]
|
|
|
|
name: linux ${{ matrix.target }} CC=${{ matrix.cc }} SSL=${{ matrix.ssl }}
|
|
|
|
env:
|
|
|
|
IPV6: 0
|
|
|
|
CC: ${{ matrix.cc }}
|
|
|
|
SSL: ${{ matrix.ssl }}
|
2020-12-18 10:41:27 +00:00
|
|
|
steps:
|
2022-03-06 21:59:25 -07:00
|
|
|
- uses: actions/checkout@v3
|
2022-09-22 10:34:38 +01:00
|
|
|
- run: sudo apt-get update ; sudo apt-get install libmbedtls-dev
|
|
|
|
- run: make ${{ matrix.target }}
|
2022-09-28 15:34:41 -06:00
|
|
|
linux_qemu:
|
|
|
|
runs-on: ubuntu-22.04
|
2022-09-26 02:55:27 -04:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
targets:
|
2022-09-28 15:34:41 -06:00
|
|
|
- target: arm
|
|
|
|
endian: little
|
|
|
|
toolchain: arm-linux-gnueabihf
|
|
|
|
qemu: qemu-arm
|
2022-09-28 04:52:05 -04:00
|
|
|
- target: ppc
|
2022-09-28 15:34:41 -06:00
|
|
|
endian: big
|
2022-09-28 04:52:05 -04:00
|
|
|
toolchain: powerpc-linux-gnu
|
2022-09-28 15:34:41 -06:00
|
|
|
qemu: qemu-ppc
|
2022-09-26 02:55:27 -04:00
|
|
|
- target: ppc64
|
2022-09-28 15:34:41 -06:00
|
|
|
endian: big
|
2022-09-26 02:55:27 -04:00
|
|
|
toolchain: powerpc64-linux-gnu
|
2022-09-28 15:34:41 -06:00
|
|
|
qemu: qemu-ppc64
|
|
|
|
name: linux-${{ matrix.targets.endian }}endian ${{ matrix.targets.target }}
|
2022-09-26 02:55:27 -04:00
|
|
|
env:
|
|
|
|
IPV6: 0
|
|
|
|
CC: ${{ matrix.targets.toolchain }}-gcc
|
|
|
|
SSL:
|
|
|
|
ASAN:
|
|
|
|
ASAN_OPTIONS:
|
|
|
|
RUN: ${{ matrix.targets.qemu }} -L /usr/${{ matrix.targets.toolchain }}
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
2022-09-28 15:34:41 -06:00
|
|
|
- run: sudo apt-get update
|
|
|
|
- run: sudo apt-get dist-upgrade
|
|
|
|
- run: sudo apt-get install --install-suggests qemu-user gcc-${{ matrix.targets.toolchain }}
|
2022-09-26 02:55:27 -04:00
|
|
|
- run: make test
|
2022-09-22 10:34:38 +01:00
|
|
|
linux2:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- run: sudo apt-get update ; sudo apt-get install libmbedtls-dev valgrind
|
|
|
|
- run: make unamalgamated SSL=
|
|
|
|
- run: make valgrind IPV6=0
|
|
|
|
- run: make mg_prefix
|
2021-05-28 19:05:10 +01:00
|
|
|
examples:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-03-06 21:59:25 -07:00
|
|
|
- uses: actions/checkout@v3
|
2022-06-29 17:02:37 +01:00
|
|
|
- run: sudo apt-get install libmbedtls-dev libpcap-dev
|
|
|
|
- run: make clean examples
|
|
|
|
- run: make clean test IPV6=0 MG_ENABLE_POLL=1
|
2020-12-18 11:09:03 +00:00
|
|
|
macos:
|
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
2022-03-06 21:59:25 -07:00
|
|
|
- uses: actions/checkout@v3
|
2022-08-06 20:30:12 +01:00
|
|
|
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install jq mbedtls openssl
|
2022-09-22 10:34:38 +01:00
|
|
|
- run: make test upload-coverage SSL=OPENSSL IPV6=0 ASAN_OPTIONS= OPENSSL=`echo /usr/local/Cellar/openssl*/*`
|
|
|
|
- run: make test SSL=MBEDTLS IPV6=0 ASAN_OPTIONS= MBEDTLS=`echo /usr/local/Cellar/mbedtls*/*`
|
2022-09-09 11:11:53 +01:00
|
|
|
- run: make mip_test ASAN_OPTIONS=
|
2022-06-29 17:02:37 +01:00
|
|
|
- run: make mg_prefix
|
2020-12-18 11:12:08 +00:00
|
|
|
windows:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-03-06 21:59:25 -07:00
|
|
|
- uses: actions/checkout@v3
|
2022-06-29 17:02:37 +01:00
|
|
|
- run: make vc98
|
2022-08-09 19:22:47 +01:00
|
|
|
- run: make vc17
|
2022-06-29 17:02:37 +01:00
|
|
|
- run: make vc22
|
|
|
|
- run: make mingw
|
|
|
|
- run: make mingw++
|
2021-05-28 18:30:42 +01:00
|
|
|
arm:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-03-06 21:59:25 -07:00
|
|
|
- uses: actions/checkout@v3
|
2022-06-29 17:02:37 +01:00
|
|
|
- run: make arm
|
2022-09-22 10:34:38 +01:00
|
|
|
riscv:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- run: make riscv
|
2022-03-18 12:16:20 -06:00
|
|
|
matrix_examples:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
example:
|
2022-10-12 13:54:04 +01:00
|
|
|
- path: esp32/device-dashboard
|
|
|
|
- path: esp32/uart-bridge
|
|
|
|
- path: esp8266
|
|
|
|
- path: stm32/stm32-freertos-tcp
|
|
|
|
- path: stm32/stm32-nucleo-f746z
|
|
|
|
- path: stm32/stm32-nucleo-f746zg
|
|
|
|
- path: stm32/stm32-nucleo-f429z
|
|
|
|
- path: stm32/stm32-nucleo-h743z
|
|
|
|
- path: stm32/nucleo-f429zi-baremetal
|
|
|
|
- path: stm32/nucleo-f746zg-baremetal
|
|
|
|
- path: nxp/nxp-mimxrt1020-azurertos
|
|
|
|
- path: nxp/nxp-frdmk66f-freertos
|
|
|
|
- path: nxp/nxp-lpcxpresso54s018m-freertos
|
|
|
|
- path: nxp/nxp-mimxrt1020-freertos
|
|
|
|
- path: nxp/nxp-evkbimxrt1050-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1020-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1024-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1060-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1064-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1160-cm7-lwip-freertos
|
|
|
|
- path: nxp/nxp-evkmimxrt1170-cm7-lwip-freertos
|
|
|
|
- path: nxp/nxp-frdmk64f-lwip-freertos
|
|
|
|
- path: nxp/nxp-frdmk66f-lwip-freertos
|
|
|
|
- path: nxp/nxp-lpcxpresso54018-lwip-freertos
|
|
|
|
- path: nxp/nxp-lpcxpresso54608-lwip-freertos
|
|
|
|
- path: nxp/nxp-lpcxpresso54618-lwip-freertos
|
|
|
|
- path: nxp/nxp-lpcxpresso54628-lwip-freertos
|
|
|
|
- path: nxp/nxp-twrk65f180m-lwip-freertos
|
|
|
|
- path: nxp/nxp-twrkv58f220m-lwip-freertos
|
|
|
|
- path: infineon/infineon-xmc4700_4800-lwip-rtx-rtos
|
|
|
|
- path: ti/ti-ek-tm4c1294xl-http-server
|
|
|
|
- path: raspberry/raspberry-pi-pico-w
|
2022-10-06 16:32:33 -03:00
|
|
|
name: ${{ matrix.example.name }}
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: ${{ matrix.example.name }}
|
|
|
|
run: make -C examples/${{ matrix.example.path }} build
|
|
|
|
matrix_zephyr_examples:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2022-10-06 16:55:13 -03:00
|
|
|
zephyrexample:
|
2022-10-12 13:54:04 +01:00
|
|
|
- path: zephyr/device-dashboard
|
|
|
|
- path: zephyr/http-client
|
|
|
|
- path: zephyr/http-server
|
|
|
|
- path: zephyr/mqtt-aws-client
|
|
|
|
- path: zephyr/websocket-server
|
2022-10-06 16:46:26 -03:00
|
|
|
name: ${{ matrix.zephyrexample.name }}
|
2022-03-18 12:16:20 -06:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
2022-10-06 16:46:26 -03:00
|
|
|
- name: ${{ matrix.zephyrexample.name }}
|
|
|
|
run: make -C examples/${{ matrix.zephyrexample.path }} zephyr build
|