codeql #3005
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
paths: | |
- "**Makefile" | |
- "**.c" | |
- "**.h" | |
env: | |
IPV6: 0 | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
cc: [gcc, clang, g++, clang++] | |
target: [test, mip_test] | |
ssl: [MBEDTLS, OPENSSL] | |
name: linux ${{ matrix.target }} CC=${{ matrix.cc }} SSL=${{ matrix.ssl }} | |
env: | |
CC: ${{ matrix.cc }} | |
SSL: ${{ matrix.ssl }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: ./test/setup_ga_network.sh && sudo apt -y update ; sudo apt -y install libmbedtls-dev && make ${{ matrix.target }} | |
s390: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update ; sudo apt -y install qemu binfmt-support qemu-user-static && docker run --rm --privileged multiarch/qemu-user-static --reset -p yes && make s390 | |
armhf: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update ; sudo apt -y install qemu binfmt-support qemu-user-static && docker run --rm --privileged multiarch/qemu-user-static --reset -p yes && make armhf | |
linux2: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update ; sudo apt -y install libmbedtls-dev valgrind | |
- if: ${{ env.GO == 1 }} | |
run: make unamalgamated && make valgrind && make mg_prefix | |
macos: | |
runs-on: macos-latest | |
env: { HOMEBREW_NO_AUTO_UPDATE: 1 } | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: brew install jq mbedtls openssl | |
- if: ${{ env.GO == 1 }} | |
run: make test upload-coverage TFLAGS=-DNO_SNTP_CHECK SSL=OPENSSL ASAN_OPTIONS= OPENSSL=`echo /usr/local/Cellar/openssl*/*` | |
- if: ${{ env.GO == 1 }} | |
run: make test SSL=MBEDTLS TFLAGS=-DNO_SNTP_CHECK ASAN_OPTIONS= MBEDTLS=`echo /usr/local/Cellar/mbedtls*/*` | |
- if: ${{ env.GO == 1 }} | |
run: make mg_prefix | |
windows: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^test|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make vc98 vc17 vc22 mingw mingw++ | |
arduino-xiao: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^examples/arduino|^src/.*.[ch]' ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make arduino-xiao | |
arm: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: make arm | |
riscv: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: make riscv | |
examples: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo apt -y install libmbedtls-dev libpcap-dev | |
- run: make clean examples | |
- run: make clean test MG_ENABLE_POLL=1 | |
examples_win: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
# - uses: egor-tensin/setup-mingw@v2 | |
# with: | |
# platform: x64 | |
- name: test they build | |
run: make examples_win | |
shell: cmd | |
- name: test they clean | |
run: make clean_examples_win | |
shell: cmd | |
examples_mac: | |
runs-on: macos-latest | |
env: { HOMEBREW_NO_AUTO_UPDATE: 1 } | |
steps: | |
- uses: actions/checkout@v3 | |
- run: make examples_mac | |
- run: make clean_examples_mac | |
test_f7: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/stm32/nucleo-f7" ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update; sudo apt -y install gcc-arm-none-eabi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f746zg-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f746zg-freertos test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f746zg-freertos-tcp test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/stm32/nucleo-f7.*-cube-'; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f746zg-cube-baremetal VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=5 | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f746zg-cube-freertos VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=5 | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f746zg-cube-freertos-lwip VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=5 | |
test_f4: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/stm32/nucleo-f4" ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update; sudo apt -y install gcc-arm-none-eabi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f429zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f429zi-freertos test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/stm32/nucleo-f4.*-cube-'; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f429zi-cube-baremetal VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=2 | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f429zi-cube-freertos VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=2 | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-f429zi-cube-freertos-lwip VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=2 | |
test_h7: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 3 } | |
- run: if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/stm32/nucleo-h7" ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update; sudo apt -y install gcc-arm-none-eabi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-h743zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/stm32/nucleo-h7.*-cube-'; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-h743zi-cube-baremetal VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=6 | |
- if: ${{ env.GO == 1 }} | |
run: make -C test/cube test PROJECTS=../../examples/stm32/nucleo-h743zi-cube-freertos VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=6 | |
test_tm4c: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/ti/ek-tm4c" ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update; sudo apt -y install gcc-arm-none-eabi | |
- run: echo GO=0 > $GITHUB_ENV ; if ./test/match_changed_files.sh "^src|examples/ti/ek-tm4c1294xl-baremetal" ; then echo GO=1 > $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/ti/ek-tm4c1294xl-baremetal test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 > $GITHUB_ENV ; if ./test/match_changed_files.sh "^src|examples/ti/ek-tm4c1294xl-freertos" ; then echo GO=1 > $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/ti/ek-tm4c1294xl-freertos test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
test_pico_w5500: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/rp2040/pico-w5500" ; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update; sudo apt -y install gcc-arm-none-eabi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/rp2040/pico-w5500 test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
matrix_examples: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
example: | |
- path: esp32/device-dashboard | |
- path: esp32/uart-bridge | |
- path: esp8266/http-client-server | |
- path: stm32/nucleo-f429zi-make-baremetal-builtin | |
- path: stm32/nucleo-f429zi-freertos | |
- path: stm32/nucleo-f429zi-rndis | |
- path: stm32/nucleo-f746zg-make-baremetal-builtin | |
- path: stm32/nucleo-f746zg-freertos | |
- path: stm32/nucleo-f746zg-freertos-tcp | |
- path: stm32/nucleo-f746zg-rndis | |
- path: stm32/nucleo-h743zi-make-baremetal-builtin | |
- 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: ti/ek-tm4c1294xl-baremetal | |
- path: ti/ek-tm4c1294xl-freertos | |
- path: rp2040/pico-rmii | |
- path: rp2040/pico-rndis-dashboard | |
- path: rp2040/pico-w | |
- path: rp2040/pico-w5500 | |
name: ${{ matrix.example.path }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^src|^examples/${{ matrix.example.path }}'; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: sudo apt -y update ; sudo apt -y install gcc-arm-none-eabi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/${{ matrix.example.path }} build | |
cube_examples: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^src|examples/stm32/nucleo-*-cube-*'; then echo GO=1 >> $GITHUB_ENV ; fi | |
- if: ${{ env.GO == 1 }} | |
run: cd test/cube && make | |
zephyr_examples: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: { fetch-depth: 2 } | |
- run: if ./test/match_changed_files.sh '^src/.*.[ch]|^examples/zephyr'; then sudo apt -y update ; sudo apt -y install gcc-arm-none-eabi ; fi | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr init | |
- name: minify manifest | |
if: ${{ env.GO == 1 }} | |
uses: mikefarah/yq@master | |
with: | |
cmd: yq -i eval '(.manifest.defaults, .manifest.remotes, .manifest.projects[] | select(.name == "cmsis" or .name == "hal_stm32" or .name == "mbedtls" or .name == "mcuboot" or .name == "picolibc" | del(.null) ), .manifest.self) as $i ireduce({};setpath($i | path; $i)) | del(.manifest.projects.[].null) | del(..|select(length==0))' examples/zephyr/zephyrproject/zephyr/west.yml | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr update | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr/device-dashboard build | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr/http-client build | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr/http-server build | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr/mqtt-aws-client build | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/zephyr/websocket-server build |