From f68fe0fb5cb8f567c5e882b959beb269c2958751 Mon Sep 17 00:00:00 2001 From: "Sergio R. Caprile" Date: Thu, 4 Apr 2024 17:15:42 -0300 Subject: [PATCH] improve test coverage and run time --- .github/workflows/nightly.yml | 113 +++++++++++++++-------- .github/workflows/quicktest.yml | 156 +++++++++++++++++++------------- Makefile | 6 ++ 3 files changed, 172 insertions(+), 103 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 59969568..5297507b 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -31,7 +31,7 @@ jobs: SSL: ${{ matrix.ssl }} TFLAGS: ${{ matrix.select }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: ./test/setup_ga_network.sh && sudo apt -y update ; sudo apt -y install libmbedtls-dev && make ${{ matrix.target }} s390: @@ -42,7 +42,7 @@ jobs: ssl: ["", BUILTIN] name: S390 SSL=${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - 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 SSL=${{ matrix.ssl }} armhf: @@ -53,16 +53,33 @@ jobs: ssl: ["", BUILTIN] name: ArmHF SSL=${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - 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 SSL=${{ matrix.ssl }} - linux2: + unamalgamated-mg_prefix: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ssl: ["", BUILTIN, MBEDTLS, OPENSSL] + name: unamalgamated-mg_prefix SSL=${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - - run: sudo apt -y update ; sudo apt -y install libmbedtls-dev valgrind - - run: make unamalgamated && make valgrind && make mg_prefix + - run: sudo apt -y update ; sudo apt -y install libmbedtls-dev + - run: make unamalgamated && make mg_prefix + valgrind: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ssl: ["", BUILTIN, MBEDTLS, OPENSSL] + name: Valgrind SSL=${{ matrix.ssl }} + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 2 } + - run: sudo apt -y update ; sudo apt -y install valgrind + - run: make valgrind SSL=${{ matrix.ssl }} macos: runs-on: macos-latest strategy: @@ -81,15 +98,15 @@ jobs: TFLAGS: ${{ matrix.select }} -DNO_SNTP_CHECK -Wno-sign-conversion # Workaround for MbedTLS 3.5.0 HOMEBREW_NO_AUTO_UPDATE: 1 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: brew install jq mbedtls openssl - - run: make test ASAN_OPTIONS= MBEDTLS=`echo /usr/local/Cellar/mbedtls*/*` OPENSSL=`echo /usr/local/Cellar/openssl*/*` - - run: make mg_prefix + - run: make test ASAN_OPTIONS= MBEDTLS=`echo /usr/local/Cellar/mbedtls*/*` OPENSSL=`echo /usr/local/Cellar/openssl*/*` windows: runs-on: ubuntu-latest strategy: fail-fast: false + max-parallel: 1 # no parallel runs, to minimize MQTT errors matrix: target: [vc98, vc17, vc22, mingw, mingw++] ssl: ["", BUILTIN] @@ -102,7 +119,7 @@ jobs: SSL: SSL=${{ matrix.ssl }} TFLAGS: ${{ matrix.select }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: make ${{ matrix.target }} arm: @@ -113,7 +130,7 @@ jobs: ssl: ["", BUILTIN] name: Arm SSL=${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make arm SSL=${{ matrix.ssl }} riscv: runs-on: ubuntu-latest @@ -123,20 +140,20 @@ jobs: ssl: ["", BUILTIN] name: RISC-V SSL=${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make riscv SSL=${{ matrix.ssl }} examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: sudo apt -y install libmbedtls-dev libpcap-dev - run: make examples - - run: make clean + - run: make clean_examples examples_win: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # - uses: egor-tensin/setup-mingw@v2 # with: # platform: x64 @@ -150,7 +167,7 @@ jobs: runs-on: macos-latest env: { HOMEBREW_NO_AUTO_UPDATE: 1 } steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make examples_mac - run: make clean_examples_mac @@ -158,7 +175,7 @@ jobs: arduino: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: echo # nothing specific to install or do - run: make -C examples/arduino arduino-xiao @@ -179,7 +196,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: if ./test/match_changed_files.sh '^src|^examples/${{ matrix.example.path }}'; then echo GO=1 >> $GITHUB_ENV ; fi - run: echo # nothing specific to install or do @@ -220,7 +237,7 @@ jobs: - path: ti/ek-tm4c1294xl-make-baremetal-builtin-rndis name: ${{ matrix.example.path }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/${{ matrix.example.path }} build @@ -234,7 +251,7 @@ jobs: - path: esp32/device-dashboard name: ${{ matrix.example.path }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: echo # nothing specific to install or do - run: make -C examples/${{ matrix.example.path }} build @@ -272,7 +289,7 @@ jobs: - path: ti/ek-tm4c1294xl-make-freertos-builtin name: ${{ matrix.example.path }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/${{ matrix.example.path }} build @@ -286,7 +303,7 @@ jobs: # - path: # name: ${{ matrix.example.path }} # steps: -# - uses: actions/checkout@v3 +# - uses: actions/checkout@v4 # with: { fetch-depth: 2 } # - run: echo # nothing specific to install or do # - run: make -C examples/${{ matrix.example.path }} build @@ -300,7 +317,7 @@ jobs: - path: rp2040/pico-rndis-device name: ${{ matrix.example.path }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/${{ matrix.example.path }} build @@ -314,7 +331,7 @@ jobs: # - path: # name: ${{ matrix.example.path }} # steps: -# - uses: actions/checkout@v3 +# - uses: actions/checkout@v4 # with: { fetch-depth: 2 } # - run: echo # nothing specific to install or do # - run: make -C examples/${{ matrix.example.path }} device_dashboard @@ -329,7 +346,7 @@ jobs: - path: stm32/nucleo-h723zg-make-baremetal-builtin name: ${{ matrix.example.path }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/${{ matrix.example.path }} device_dashboard @@ -338,7 +355,7 @@ jobs: cube_examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: echo # nothing specific to install or do - run: cd test/cube && make @@ -346,7 +363,7 @@ jobs: zephyr_examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/zephyr init @@ -364,7 +381,7 @@ jobs: test_f7: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -380,7 +397,7 @@ jobs: test_f4: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -395,7 +412,7 @@ jobs: test_h743: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -409,7 +426,7 @@ jobs: test_h723: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -419,7 +436,7 @@ jobs: test_h5: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -429,7 +446,7 @@ jobs: test_rt1020: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -439,17 +456,37 @@ jobs: test_rt1060: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi - run: make -C examples/nxp/rt1060-evk-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} - run: make -C examples/nxp/rt1060-evk-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} + test_rt1170: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 3 } + - name: baremetal + run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi + - run: make -C examples/nxp/rt1170-evk-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} +# - run: make -C examples/nxp/rt1170-evk-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} + + test_ra6m4: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 3 } + - name: baremetal + run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi + - run: make -C examples/renesas/ek-ra6m4-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} +# - run: make -C examples/renesas/ek-ra6m4-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} + test_tm4c: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -459,7 +496,7 @@ jobs: test_same54: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi @@ -469,7 +506,7 @@ jobs: test_pico_w5500: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: SDK run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi diff --git a/.github/workflows/quicktest.yml b/.github/workflows/quicktest.yml index ee8bdf59..afc36bc5 100644 --- a/.github/workflows/quicktest.yml +++ b/.github/workflows/quicktest.yml @@ -21,7 +21,7 @@ jobs: CC: ${{ matrix.cc }} SSL: ${{ matrix.ssl }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 }} @@ -29,7 +29,7 @@ jobs: s390: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 }} @@ -37,21 +37,19 @@ jobs: armhf: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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: + unamalgamated-mg_prefix: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 + run: make unamalgamated && make mg_prefix macos: runs-on: macos-latest strategy: @@ -64,13 +62,11 @@ jobs: TFLAGS: -DNO_SNTP_CHECK HOMEBREW_NO_AUTO_UPDATE: 1 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 test ASAN_OPTIONS= - - if: ${{ env.GO == 1 }} - run: make mg_prefix windows: runs-on: ubuntu-latest strategy: @@ -79,7 +75,7 @@ jobs: target: [vc98, vc22, mingw++] name: windows ${{ matrix.target }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 }} @@ -87,25 +83,24 @@ jobs: arm: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make arm riscv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make riscv examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - run: sudo apt -y install libpcap-dev - - run: make examples - - run: make clean + - uses: actions/checkout@v4 + - run: make examples_essential + - run: make clean_examples_essential examples_win: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # - uses: egor-tensin/setup-mingw@v2 # with: # platform: x64 @@ -119,37 +114,11 @@ jobs: runs-on: macos-latest env: { HOMEBREW_NO_AUTO_UPDATE: 1 } steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: make examples_mac - run: make clean_examples_mac - arduino: - runs-on: ubuntu-latest - env: - GO: 0 - steps: - - uses: actions/checkout@v3 - with: { fetch-depth: 2 } - - run: | - if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/arduino" ; then - echo GO=1 >> $GITHUB_ENV - # nothing specific to install or do - fi - - if: ${{ env.GO == 1 }} - run: | - if ./test/match_changed_files.sh '^src|examples/arduino'; then - make -C examples/arduino arduino-xiao - fi -# - if: ${{ env.GO == 1 }} -# run: | -# if ./test/match_changed_files.sh '^src|examples/arduino'; then -# make -C examples/arduino arduino-nano -# fi - - if: ${{ env.GO == 1 }} - run: make -C examples/arduino clean - - generic_examples: runs-on: ubuntu-latest strategy: @@ -162,7 +131,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 }} @@ -183,7 +152,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 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 }} @@ -202,7 +171,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|^examples/${{ matrix.example.path }}'; then @@ -247,7 +216,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|^examples/${{ matrix.example.path }}'; then @@ -268,7 +237,7 @@ jobs: # env: # GO: 0 # steps: -# - uses: actions/checkout@v3 +# - uses: actions/checkout@v4 # with: { fetch-depth: 2 } # - run: | # if ./test/match_changed_files.sh '^src|examples/mqtt-dashboard/device|^examples/${{ matrix.example.path }}'; then @@ -289,7 +258,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: | if ./test/match_changed_files.sh '^src|examples/mqtt-dashboard/device|^examples/${{ matrix.example.path }}'; then @@ -310,7 +279,7 @@ jobs: # env: # GO: 0 # steps: -# - uses: actions/checkout@v3 +# - uses: actions/checkout@v4 # with: { fetch-depth: 2 } # - run: | # if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/mqtt-dashboard/device|^examples/${{ matrix.example.path }}'; then @@ -339,7 +308,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/mqtt-dashboard/device|^examples/${{ matrix.example.path }}'; then @@ -362,7 +331,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - run: | if ./test/match_changed_files.sh '^src|examples/stm32/nucleo-*-cube-*'; then @@ -377,7 +346,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: | @@ -387,6 +356,7 @@ jobs: fi # always run baremetal on core or dashboard or specific example changes; other examples only on specific example changes - if: ${{ env.GO == 1 }} + continue-on-error: true # continue so next test has a chance to re-flash and exit from collisions and flash failures run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/stm32/nucleo-f746zg-make-baremetal-builtin'; then make -C examples/stm32/nucleo-f746zg-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -430,7 +400,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: | @@ -439,6 +409,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/stm32/nucleo-f429zi-make-baremetal-builtin'; then make -C examples/stm32/nucleo-f429zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -476,7 +447,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: | @@ -485,6 +456,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/stm32/nucleo-h743zi-make-baremetal-builtin'; then make -C examples/stm32/nucleo-h743zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -517,7 +489,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: | @@ -526,6 +498,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/stm32/nucleo-h723zg-make-baremetal-builtin'; then make -C examples/stm32/nucleo-h723zg-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -541,7 +514,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: | @@ -550,6 +523,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/stm32/nucleo-h563zi-make-baremetal-builtin'; then make -C examples/stm32/nucleo-h563zi-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -565,7 +539,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: | @@ -574,6 +548,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/nxp/rt1020-evk-make-baremetal-builtin'; then make -C examples/nxp/rt1020-evk-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -589,7 +564,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 3 } - name: baremetal run: | @@ -598,6 +573,7 @@ jobs: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi fi - if: ${{ env.GO == 1 }} + continue-on-error: true run: | if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/nxp/rt1060-evk-make-baremetal-builtin'; then make -C examples/nxp/rt1060-evk-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} @@ -608,12 +584,62 @@ jobs: make -C examples/nxp/rt1060-evk-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} fi + test_rt1170: + runs-on: ubuntu-latest + env: + GO: 0 + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 3 } + - name: baremetal + run: | + if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/nxp/rt1170.*-make-" ; then + echo GO=1 >> $GITHUB_ENV + sudo apt -y update && sudo apt -y install gcc-arm-none-eabi + fi + - if: ${{ env.GO == 1 }} + continue-on-error: true + run: | + if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/nxp/rt1170-evk-make-baremetal-builtin'; then + make -C examples/nxp/rt1170-evk-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} + fi +# - if: ${{ env.GO == 1 }} +# run: | +# if ./test/match_changed_files.sh 'examples/nxp/rt1170-evk-make-freertos-builtin'; then +# make -C examples/nxp/rt1170-evk-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} +# fi + + test_ra6m4: + runs-on: ubuntu-latest + env: + GO: 0 + steps: + - uses: actions/checkout@v4 + with: { fetch-depth: 3 } + - name: baremetal + run: | + if ./test/match_changed_files.sh "^src|examples/device-dashboard|examples/renesas/ek-ra6m4.*-make-" ; then + echo GO=1 >> $GITHUB_ENV + sudo apt -y update && sudo apt -y install gcc-arm-none-eabi + fi + - if: ${{ env.GO == 1 }} + continue-on-error: true + run: | + if ./test/match_changed_files.sh '^src|examples/device-dashboard|examples/renesas/ek-ra6m4-make-baremetal-builtin'; then + make -C examples/renesas/ek-ra6m4-make-baremetal-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} + fi +# - if: ${{ env.GO == 1 }} +# run: | +# if ./test/match_changed_files.sh 'examples/renesas/ek-ra6m4-make-freertos-builtin'; then +# make -C examples/renesas/ek-ra6m4-make-freertos-builtin test VCON_API_KEY=${{secrets.VCON_API_KEY}} +# fi + test_tm4c: runs-on: ubuntu-latest env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: | @@ -637,7 +663,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: baremetal run: | @@ -661,7 +687,7 @@ jobs: env: GO: 0 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: { fetch-depth: 2 } - name: SDK run: | diff --git a/Makefile b/Makefile index 6f61d097..20b0c8ad 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ IPV6 ?= 1 ASAN ?= -fsanitize=address,undefined,alignment -fno-sanitize-recover=all -fno-omit-frame-pointer -fno-common ASAN_OPTIONS ?= detect_leaks=1 EXAMPLES := $(dir $(wildcard examples/*/Makefile)) +EXAMPLES_QUICK := $(filter-out examples/mip-pcap/ examples/micropython/, $(EXAMPLES)) EXAMPLES_MAC := $(filter-out examples/mip-pcap/ examples/mip-tap/ examples/micropython/, $(EXAMPLES)) EXAMPLES_WIN := $(dir $(wildcard examples/device-dashboard/Makefile) $(wildcard examples/file-*/Makefile) $(wildcard examples/http-*/Makefile) $(wildcard examples/mqtt-*/Makefile) $(wildcard examples/websocket-*/Makefile) $(wildcard examples/webui-*/Makefile)) EXAMPLES_EMBEDDED := $(filter-out $(wildcard examples/zephyr/*/), $(dir $(wildcard examples/*/*/Makefile))) @@ -69,6 +70,11 @@ examples: clean_examples: for X in $(EXAMPLES); do test -f $$X/Makefile || continue; $(MAKE) -C $$X clean || exit 1; done +examples_essential: + @for X in $(EXAMPLES_QUICK); do test -f $$X/Makefile || continue; $(MAKE) -C $$X example || exit 1; done +clean_examples_essential: + for X in $(EXAMPLES_QUICK); do test -f $$X/Makefile || continue; $(MAKE) -C $$X clean || exit 1; done + examples_mac: for X in $(EXAMPLES_MAC); do test -f $$X/Makefile || continue; $(MAKE) -C $$X example || exit 1; done clean_examples_mac: