mongoose/.github/workflows/test.yml

184 lines
6.4 KiB
YAML
Raw Normal View History

2020-12-18 19:26:17 +08:00
name: build
on: [push, pull_request]
2020-12-18 18:41:27 +08:00
jobs:
2020-12-18 19:09:03 +08:00
linux:
2020-12-18 18:41:27 +08:00
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
2022-09-22 17:34:38 +08:00
cc: [gcc, clang, g++, clang++]
target: [test, mip_test]
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 18:41:27 +08:00
steps:
- uses: actions/checkout@v3
2022-09-22 17:34:38 +08:00
- run: sudo apt-get update ; sudo apt-get install libmbedtls-dev
- run: make ${{ matrix.target }}
linux_qemu:
runs-on: ubuntu-22.04
2022-09-26 14:55:27 +08:00
strategy:
fail-fast: false
matrix:
targets:
- target: arm
endian: little
toolchain: arm-linux-gnueabihf
qemu: qemu-arm
2022-09-28 16:52:05 +08:00
- target: ppc
endian: big
2022-09-28 16:52:05 +08:00
toolchain: powerpc-linux-gnu
qemu: qemu-ppc
2022-09-26 14:55:27 +08:00
- target: ppc64
endian: big
2022-09-26 14:55:27 +08:00
toolchain: powerpc64-linux-gnu
qemu: qemu-ppc64
name: linux-${{ matrix.targets.endian }}endian ${{ matrix.targets.target }}
2022-09-26 14:55:27 +08: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
- 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 14:55:27 +08:00
- run: make test
2022-09-22 17:34:38 +08: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-29 02:05:10 +08:00
examples:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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 19:09:03 +08:00
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
2022-08-07 03:30:12 +08:00
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install jq mbedtls openssl
2022-09-22 17:34:38 +08: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 18:11:53 +08:00
- run: make mip_test ASAN_OPTIONS=
- run: make mg_prefix
2020-12-18 19:12:08 +08:00
windows:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: make vc98
2022-08-10 02:22:47 +08:00
- run: make vc17
- run: make vc22
- run: make mingw
- run: make mingw++
arm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: make arm
2022-09-22 17:34:38 +08:00
riscv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: make riscv
matrix_examples:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
example:
2022-06-08 20:24:41 +08:00
- name: esp32/device-dashboard
path: esp32/device-dashboard
- name: esp8266
path: esp8266
- name: stm32-freertos-tcp
path: stm32/stm32-freertos-tcp
- name: stm32-nucleo-f746z
path: stm32/stm32-nucleo-f746z
- name: stm32-nucleo-f429z
path: stm32/stm32-nucleo-f429z
- name: stm32-nucleo-h743z
path: stm32/stm32-nucleo-h743z
2022-05-26 20:53:36 +08:00
- name: stm32-nucleo-f746zg-baremetal
path: stm32/nucleo-f746zg-baremetal
- name: nxp-mimxrt1020-azurertos
path: nxp/nxp-mimxrt1020-azurertos
- name: nxp-frdmk66f-freertos
path: nxp/nxp-frdmk66f-freertos
- name: nxp-lpcxpresso54s018m-freertos
path: nxp/nxp-lpcxpresso54s018m-freertos
- name: nxp-mimxrt1020-freertos
path: nxp/nxp-mimxrt1020-freertos
- name: nxp-evkbimxrt1050-lwip-freertos
path: nxp/nxp-evkbimxrt1050-lwip-freertos
- name: nxp-evkmimxrt1020-lwip-freertos
path: nxp/nxp-evkmimxrt1020-lwip-freertos
- name: nxp-evkmimxrt1024-lwip-freertos
path: nxp/nxp-evkmimxrt1024-lwip-freertos
- name: nxp-evkmimxrt1060-lwip-freertos
path: nxp/nxp-evkmimxrt1060-lwip-freertos
- name: nxp-evkmimxrt1064-lwip-freertos
path: nxp/nxp-evkmimxrt1064-lwip-freertos
- name: nxp-evkmimxrt1160-cm7-lwip-freertos
path: nxp/nxp-evkmimxrt1160-cm7-lwip-freertos
- name: nxp-evkmimxrt1170-cm7-lwip-freertos
path: nxp/nxp-evkmimxrt1170-cm7-lwip-freertos
- name: nxp-frdmk64f-lwip-freertos
path: nxp/nxp-frdmk64f-lwip-freertos
- name: nxp-frdmk66f-lwip-freertos
path: nxp/nxp-frdmk66f-lwip-freertos
- name: nxp-lpcxpresso54018-lwip-freertos
path: nxp/nxp-lpcxpresso54018-lwip-freertos
- name: nxp-lpcxpresso54608-lwip-freertos
path: nxp/nxp-lpcxpresso54608-lwip-freertos
- name: nxp-lpcxpresso54618-lwip-freertos
path: nxp/nxp-lpcxpresso54618-lwip-freertos
- name: nxp-lpcxpresso54628-lwip-freertos
path: nxp/nxp-lpcxpresso54628-lwip-freertos
- name: nxp-twrk65f180m-lwip-freertos
path: nxp/nxp-twrk65f180m-lwip-freertos
- name: nxp-twrkv58f220m-lwip-freertos
path: nxp/nxp-twrkv58f220m-lwip-freertos
- name: infineon-xmc4700_4800-lwip-rtx-rtos
path: infineon/infineon-xmc4700_4800-lwip-rtx-rtos
2022-05-16 00:18:18 +08:00
- name: ti
path: ti/ti-ek-tm4c1294xl-http-server
2022-10-07 14:08:59 +08:00
- name: pico-w
path: raspberry/raspberry-pi-pico-w
2022-10-07 03:32:33 +08: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-07 03:55:13 +08:00
zephyrexample:
2022-05-16 18:10:01 +08:00
- name: nucleo_f746zg-zephyr-http-client
path: zephyr/http-client
- name: nucleo_f746zg-zephyr-http-server
path: zephyr/http-server
- name: nucleo_f746zg-zephyr-mqtt-aws-client
path: zephyr/mqtt-aws-client
- name: nucleo_f746zg-zephyr-websocket-server
2022-10-07 14:08:59 +08:00
path: zephyr/websocket-server
2022-10-07 03:46:26 +08:00
name: ${{ matrix.zephyrexample.name }}
steps:
- uses: actions/checkout@v3
2022-10-07 03:46:26 +08:00
- name: ${{ matrix.zephyrexample.name }}
run: make -C examples/${{ matrix.zephyrexample.path }} zephyr build