make TCP example work with new TLS API #3167
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] #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++ | |
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.*-make-" ; 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-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-f746zg-make-freertos-tcp test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/device-dashboard|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-builtin 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-builtin 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.*-make-" ; 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-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/device-dashboard|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-builtin 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-builtin 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.*-make-" ; 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}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/stm32/nucleo-h743zi-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- run: echo GO=0 >> $GITHUB_ENV ; if ./test/match_changed_files.sh '^src|examples/device-dashboard|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-builtin 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-builtin VCON_API_KEY=${{secrets.VCON_API_KEY}} DEVICE=6 | |
test_h5: | |
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-h5.*-make-" ; 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-h563zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
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 | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/ti/ek-tm4c1294xl-baremetal test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/ti/ek-tm4c1294xl-freertos test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
test_same54: | |
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/microchip/same54" ; 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/microchip/same54/device-dashboard test VCON_API_KEY=${{secrets.VCON_API_KEY}} | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/microchip/same54/mqtt-client 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}} | |
arduino: | |
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 -C examples/arduino arduino-xiao | |
# - if: ${{ env.GO == 1 }} | |
# run: make -C examples/arduino arduino-nano | |
- if: ${{ env.GO == 1 }} | |
run: make -C examples/arduino clean | |
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: microchip/same54/device-dashboard | |
- path: microchip/same54/mqtt-client | |
- path: infineon/infineon-xmc4700_4800-lwip-rtx-rtos | |
- 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: rp2040/pico-rmii | |
- path: rp2040/pico-rndis-dashboard | |
- path: rp2040/pico-w | |
- path: rp2040/pico-w5500 | |
- path: stm32/nucleo-f429zi-make-baremetal-builtin | |
- path: stm32/nucleo-f429zi-make-freertos-builtin | |
- path: stm32/nucleo-f429zi-make-baremetal-builtin-rndis | |
- path: stm32/nucleo-f746zg-make-baremetal-builtin | |
- path: stm32/nucleo-f746zg-make-freertos-builtin | |
- path: stm32/nucleo-f746zg-make-freertos-tcp | |
- path: stm32/nucleo-f746zg-make-baremetal-builtin-rndis | |
- path: stm32/nucleo-h563zi-make-baremetal-builtin | |
- path: stm32/nucleo-h743zi-make-baremetal-builtin | |
- path: stm32/nucleo-h743zi-make-freertos-builtin | |
- path: ti/ti-ek-tm4c1294xl-http-server | |
- path: ti/ek-tm4c1294xl-baremetal | |
- path: ti/ek-tm4c1294xl-freertos | |
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 |