From b73869a967542832663abe84ef6065d9a14831b9 Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Fri, 9 Dec 2022 12:47:48 +0100 Subject: [PATCH 1/9] CI: update github actions to prevent nodejs version warning --- .github/workflows/cygwin_build.yml | 2 +- .github/workflows/macos_build.yml | 4 +- .github/workflows/test_ccache.yml | 2 +- .github/workflows/test_chibios.yml | 4 +- .github/workflows/test_coverage.yml | 4 +- .github/workflows/test_environment.yml | 2 +- .github/workflows/test_linux_sbc.yml | 4 +- .github/workflows/test_replay.yml | 4 +- .github/workflows/test_scripting_docs.yml | 45 +++++++++++++++++++++++ .github/workflows/test_sitl_copter.yml | 16 ++++---- .github/workflows/test_sitl_periph.yml | 8 ++-- .github/workflows/test_sitl_plane.yml | 8 ++-- .github/workflows/test_sitl_rover.yml | 8 ++-- .github/workflows/test_sitl_sub.yml | 8 ++-- .github/workflows/test_sitl_tracker.yml | 8 ++-- .github/workflows/test_size.yml | 6 +-- .github/workflows/test_unit_tests.yml | 4 +- 17 files changed, 91 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/test_scripting_docs.yml diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index 0d601df2fa..cd1f85216f 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -10,7 +10,7 @@ jobs: runs-on: 'windows-latest' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' - uses: cygwin/cygwin-install-action@master diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index e142a796ac..a4a8b0a354 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -17,7 +17,7 @@ jobs: ] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' - name: Install Prerequisites @@ -35,7 +35,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{matrix.config}}-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_ccache.yml b/.github/workflows/test_ccache.yml index dd5d970d5b..3f3ba047df 100644 --- a/.github/workflows/test_ccache.yml +++ b/.github/workflows/test_ccache.yml @@ -21,7 +21,7 @@ jobs: gcc: [10] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' - name: ccache test diff --git a/.github/workflows/test_chibios.yml b/.github/workflows/test_chibios.yml index faf560472c..a1c80b3c9d 100644 --- a/.github/workflows/test_chibios.yml +++ b/.github/workflows/test_chibios.yml @@ -59,7 +59,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -69,7 +69,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{ matrix.gcc }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index b700fa830e..5006033971 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -29,7 +29,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -39,7 +39,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml index ee34b50aaf..8d7ba5c87d 100644 --- a/.github/workflows/test_environment.yml +++ b/.github/workflows/test_environment.yml @@ -62,7 +62,7 @@ jobs: esac # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' - name: test install environment ${{matrix.os}}.${{matrix.name}} diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml index e36a28fc3d..478922b005 100644 --- a/.github/workflows/test_linux_sbc.yml +++ b/.github/workflows/test_linux_sbc.yml @@ -43,7 +43,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -53,7 +53,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_replay.yml b/.github/workflows/test_replay.yml index 7ecae879f4..d353061304 100644 --- a/.github/workflows/test_replay.yml +++ b/.github/workflows/test_replay.yml @@ -24,7 +24,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -34,7 +34,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_scripting_docs.yml b/.github/workflows/test_scripting_docs.yml new file mode 100644 index 0000000000..a281bc459e --- /dev/null +++ b/.github/workflows/test_scripting_docs.yml @@ -0,0 +1,45 @@ +name: test scripting docs + +on: + push: + paths: # only run for scripting changes + - 'libraries/AP_Scripting/tests/docs_check.py' + - 'libraries/AP_Scripting/generator/**' + + pull_request: + paths: # only run for scripting changes + - 'libraries/AP_Scripting/tests/docs_check.py' + - 'libraries/AP_Scripting/generator/**' + + workflow_dispatch: + +concurrency: + group: ci-${{github.workflow}}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test-scripting-docs: + runs-on: ubuntu-20.04 + container: ardupilot/ardupilot-dev-base:latest + steps: + # git checkout the PR + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + + - name: copy docs + run: | + PATH="/github/home/.local/bin:$PATH" + mv "libraries/AP_Scripting/docs/docs.lua" "libraries/AP_Scripting/docs/current_docs.lua" + + - name: build sitl # we don't really need to build the full code, just trigger docs re-gen with --scripting-docs, timeout after 10 seconds + shell: bash + run: | + PATH="/github/home/.local/bin:$PATH" + ./waf configure --board sitl + timeout 10 ./waf antennatracker --scripting-docs || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi + + - name: run compare + run: | + PATH="/github/home/.local/bin:$PATH" + python ./libraries/AP_Scripting/tests/docs_check.py "./libraries/AP_Scripting/docs/docs.lua" "./libraries/AP_Scripting/docs/current_docs.lua" diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml index 28c72a64f0..46f48db74c 100644 --- a/.github/workflows/test_sitl_copter.yml +++ b/.github/workflows/test_sitl_copter.yml @@ -21,7 +21,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -31,7 +31,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -73,7 +73,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -83,7 +83,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -127,7 +127,7 @@ jobs: options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -137,7 +137,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -167,7 +167,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -177,7 +177,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_sitl_periph.yml b/.github/workflows/test_sitl_periph.yml index 8a517adf87..6144dda25d 100644 --- a/.github/workflows/test_sitl_periph.yml +++ b/.github/workflows/test_sitl_periph.yml @@ -14,7 +14,7 @@ jobs: container: ardupilot/ardupilot-dev-base:latest steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -24,7 +24,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -67,7 +67,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -77,7 +77,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_sitl_plane.yml b/.github/workflows/test_sitl_plane.yml index 3640bc4e90..90f2262ae4 100644 --- a/.github/workflows/test_sitl_plane.yml +++ b/.github/workflows/test_sitl_plane.yml @@ -21,7 +21,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -31,7 +31,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -68,7 +68,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -78,7 +78,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_sitl_rover.yml b/.github/workflows/test_sitl_rover.yml index f14ffcf919..4773378396 100644 --- a/.github/workflows/test_sitl_rover.yml +++ b/.github/workflows/test_sitl_rover.yml @@ -21,7 +21,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -31,7 +31,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -69,7 +69,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -79,7 +79,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_sitl_sub.yml b/.github/workflows/test_sitl_sub.yml index 39c25c28b5..f4357a6a23 100644 --- a/.github/workflows/test_sitl_sub.yml +++ b/.github/workflows/test_sitl_sub.yml @@ -21,7 +21,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -31,7 +31,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -67,7 +67,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -77,7 +77,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_sitl_tracker.yml b/.github/workflows/test_sitl_tracker.yml index 8c6abec961..165ccb281d 100644 --- a/.github/workflows/test_sitl_tracker.yml +++ b/.github/workflows/test_sitl_tracker.yml @@ -21,7 +21,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -31,7 +31,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -67,7 +67,7 @@ jobs: steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -77,7 +77,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml index ed38175a1f..534f3b2c90 100644 --- a/.github/workflows/test_size.yml +++ b/.github/workflows/test_size.yml @@ -26,7 +26,7 @@ jobs: f103-GPS # see special code for Periph below (3 places!) ] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.base.ref }} path: base_branch @@ -38,7 +38,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -77,7 +77,7 @@ jobs: echo [`date`] Built ${{ github.event.pull_request.base.ref }} with no versions - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 path: 'pr' diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml index eba8083a9d..4b9afd5d83 100644 --- a/.github/workflows/test_unit_tests.yml +++ b/.github/workflows/test_unit_tests.yml @@ -29,7 +29,7 @@ jobs: ] steps: # git checkout the PR - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' # Put ccache into github cache for faster build @@ -39,7 +39,7 @@ jobs: NOW=$(date -u +"%F-%T") echo "::set-output name=timestamp::${NOW}" - name: ccache cache files - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} From 9821011f03edfcea7453d8a60eac0a0652a8885e Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Fri, 9 Dec 2022 12:48:00 +0100 Subject: [PATCH 2/9] CI: add ccache config to test_size --- .github/workflows/test_size.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml index 534f3b2c90..47dae8b256 100644 --- a/.github/workflows/test_size.yml +++ b/.github/workflows/test_size.yml @@ -43,6 +43,9 @@ jobs: path: ~/.ccache key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} restore-keys: ${{github.workflow}}-ccache-${{ matrix.toolchain }}- # restore ccache from either previous build on this branch or on base branch + - name: setup ccache + run: | + . base_branch/.github/workflows/ccache.env - name: Build ${{ github.event.pull_request.base.ref }} ${{matrix.config}} ${{ matrix.toolchain }} env: CI_BUILD_TARGET: ${{matrix.config}} From 76c02a3f084c8603c2b12501bcb80543c3133725 Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Mon, 16 Jan 2023 16:28:24 +0100 Subject: [PATCH 3/9] CI: update github action to remove deprecation warnings from logs --- .github/workflows/cygwin_build.yml | 6 +++--- .github/workflows/macos_build.yml | 2 +- .github/workflows/test_chibios.yml | 2 +- .github/workflows/test_coverage.yml | 2 +- .github/workflows/test_linux_sbc.yml | 2 +- .github/workflows/test_replay.yml | 4 ++-- .github/workflows/test_sitl_copter.yml | 16 ++++++++-------- .github/workflows/test_sitl_periph.yml | 4 ++-- .github/workflows/test_sitl_plane.yml | 8 ++++---- .github/workflows/test_sitl_rover.yml | 8 ++++---- .github/workflows/test_sitl_sub.yml | 8 ++++---- .github/workflows/test_sitl_tracker.yml | 8 ++++---- .github/workflows/test_size.yml | 4 ++-- .github/workflows/test_unit_tests.yml | 4 ++-- 14 files changed, 39 insertions(+), 39 deletions(-) diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index cd1f85216f..3f5d35eb78 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -31,13 +31,13 @@ jobs: - name: Check build files id: check_files - uses: andstor/file-existence-action@v1 + uses: andstor/file-existence-action@v2 with: files: "artifacts/*" - allow_failure: true + fail: true - name: Archive build - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: binaries path: artifacts diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index a4a8b0a354..6b648caa96 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -33,7 +33,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_chibios.yml b/.github/workflows/test_chibios.yml index a1c80b3c9d..d6085ac5cb 100644 --- a/.github/workflows/test_chibios.yml +++ b/.github/workflows/test_chibios.yml @@ -67,7 +67,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index 5006033971..ed9bc392ef 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -37,7 +37,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml index 478922b005..bb13d48dc7 100644 --- a/.github/workflows/test_linux_sbc.yml +++ b/.github/workflows/test_linux_sbc.yml @@ -51,7 +51,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_replay.yml b/.github/workflows/test_replay.yml index d353061304..5923527b1b 100644 --- a/.github/workflows/test_replay.yml +++ b/.github/workflows/test_replay.yml @@ -32,7 +32,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -55,7 +55,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{ matrix.toolchain }}-${{matrix.config}} diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml index 46f48db74c..271cb375d0 100644 --- a/.github/workflows/test_sitl_copter.yml +++ b/.github/workflows/test_sitl_copter.yml @@ -29,7 +29,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -81,7 +81,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -100,7 +100,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -114,7 +114,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs @@ -135,7 +135,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -175,7 +175,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -194,7 +194,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -208,7 +208,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs diff --git a/.github/workflows/test_sitl_periph.yml b/.github/workflows/test_sitl_periph.yml index 6144dda25d..b236cfcc28 100644 --- a/.github/workflows/test_sitl_periph.yml +++ b/.github/workflows/test_sitl_periph.yml @@ -22,7 +22,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -75,7 +75,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_sitl_plane.yml b/.github/workflows/test_sitl_plane.yml index 90f2262ae4..e1903669b8 100644 --- a/.github/workflows/test_sitl_plane.yml +++ b/.github/workflows/test_sitl_plane.yml @@ -29,7 +29,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -76,7 +76,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -95,7 +95,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -109,7 +109,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs diff --git a/.github/workflows/test_sitl_rover.yml b/.github/workflows/test_sitl_rover.yml index 4773378396..98751a4c6a 100644 --- a/.github/workflows/test_sitl_rover.yml +++ b/.github/workflows/test_sitl_rover.yml @@ -29,7 +29,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -77,7 +77,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -96,7 +96,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -110,7 +110,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs diff --git a/.github/workflows/test_sitl_sub.yml b/.github/workflows/test_sitl_sub.yml index f4357a6a23..c5685ce3e0 100644 --- a/.github/workflows/test_sitl_sub.yml +++ b/.github/workflows/test_sitl_sub.yml @@ -29,7 +29,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -75,7 +75,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -94,7 +94,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -108,7 +108,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs diff --git a/.github/workflows/test_sitl_tracker.yml b/.github/workflows/test_sitl_tracker.yml index 165ccb281d..3ded077b4d 100644 --- a/.github/workflows/test_sitl_tracker.yml +++ b/.github/workflows/test_sitl_tracker.yml @@ -29,7 +29,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -75,7 +75,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -94,7 +94,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{matrix.config}} @@ -108,7 +108,7 @@ jobs: retention-days: 14 - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: BIN-${{matrix.config}} path: /__w/ardupilot/ardupilot/logs diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml index 47dae8b256..e576606291 100644 --- a/.github/workflows/test_size.yml +++ b/.github/workflows/test_size.yml @@ -36,7 +36,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -166,7 +166,7 @@ jobs: zip -r elf_diff.zip elf_diff - name: Archive elf_diff output - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ELF_DIFF_${{matrix.config}} path: elf_diff.zip diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml index 4b9afd5d83..0dad924a80 100644 --- a/.github/workflows/test_unit_tests.yml +++ b/.github/workflows/test_unit_tests.yml @@ -37,7 +37,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "::set-output name=timestamp::${NOW}" + echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -60,7 +60,7 @@ jobs: Tools/scripts/build_ci.sh - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: fail-${{ matrix.toolchain }}-${{matrix.config}} From af269df67727c0719ceaf869c96284c7c6a5bd80 Mon Sep 17 00:00:00 2001 From: Lokesh-Carbonix Date: Mon, 20 Nov 2023 15:10:00 -0800 Subject: [PATCH 4/9] CI: Update to master & limit push run of CI --- .github/workflows/cygwin_build.yml | 135 +++++++++++++++- .github/workflows/macos_build.yml | 140 ++++++++++++++++- .github/workflows/test_ccache.yml | 126 ++++++++++++++- .github/workflows/test_chibios.yml | 153 +++++++++++++++--- .github/workflows/test_environment.yml | 14 ++ .github/workflows/test_linux_sbc.yml | 138 ++++++++++++++++- .github/workflows/test_replay.yml | 149 +++++++++++++++++- .github/workflows/test_scripting_docs.yml | 12 +- .github/workflows/test_sitl_copter.yml | 181 ++++++++++++++++++++-- .github/workflows/test_sitl_periph.yml | 176 ++++++++++++++++++--- .github/workflows/test_sitl_plane.yml | 170 ++++++++++++++++++-- .github/workflows/test_sitl_rover.yml | 169 ++++++++++++++++++-- .github/workflows/test_sitl_sub.yml | 172 ++++++++++++++++++-- .github/workflows/test_sitl_tracker.yml | 172 ++++++++++++++++++-- .github/workflows/test_size.yml | 62 +++++++- .github/workflows/test_unit_tests.yml | 102 +++++++++++- 16 files changed, 1940 insertions(+), 131 deletions(-) diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index 3f5d35eb78..b7bf091939 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -1,6 +1,139 @@ name: Cygwin Build -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'Blimp/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CPUInfo/**' + - 'Tools/CodeStyle/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/GIT_Test/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/Vicon/**' + - 'Tools/bootloaders/**' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/geotag/**' + - 'Tools/gittools/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/simulink/**' + - 'Tools/vagrant/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotest + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'Blimp/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotest + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 6b648caa96..00c66c8208 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -1,13 +1,146 @@ name: Macos Build -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other env install scripts + - 'Tools/environment_install/APM_install.sh' + - 'Tools/environment_install/install-ROS-ubuntu.sh' + - 'Tools/environment_install/install-prereqs-arch.sh' + - 'Tools/environment_install/install-prereqs-ubuntu.sh' + - 'Tools/environment_install/install-prereqs-windows-andAPMSource.ps1' + - 'Tools/environment_install/install-prereqs-windows.ps1' + # remove non esp32 HAL + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL non stm32 directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other env install scripts + - 'Tools/environment_install/APM_install.sh' + - 'Tools/environment_install/install-ROS-ubuntu.sh' + - 'Tools/environment_install/install-prereqs-arch.sh' + - 'Tools/environment_install/install-prereqs-ubuntu.sh' + - 'Tools/environment_install/install-prereqs-windows-andAPMSource.ps1' + - 'Tools/environment_install/install-prereqs-windows.ps1' + # remove non esp32 HAL + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL non stm32 directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true jobs: build: - runs-on: 'macos-latest' + runs-on: macos-latest strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -31,9 +164,10 @@ jobs: # Put ccache into github cache for faster build - name: Prepare ccache timestamp id: ccache_cache_timestamp + shell: bash run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_ccache.yml b/.github/workflows/test_ccache.yml index 3f3ba047df..062df2173e 100644 --- a/.github/workflows/test_ccache.yml +++ b/.github/workflows/test_ccache.yml @@ -1,9 +1,123 @@ name: test ccache -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non chibios HAL + - 'libraries/AP_HAL_Linux/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non stm directories + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non chibios HAL + - 'libraries/AP_HAL_Linux/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non stm directories + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +125,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,5 +143,5 @@ jobs: run: | PATH="/usr/lib/ccache:/opt/gcc-arm-none-eabi-${{matrix.gcc}}/bin:$PATH" Tools/scripts/build_tests/test_ccache.py --boards MatekF405,MatekF405-bdshot --min-cache-pct=75 - Tools/scripts/build_tests/test_ccache.py --boards CubeOrange,Durandal --min-cache-pct=75 + Tools/scripts/build_tests/test_ccache.py --boards Durandal,Pixhawk6X --min-cache-pct=73 diff --git a/.github/workflows/test_chibios.yml b/.github/workflows/test_chibios.yml index d6085ac5cb..49006accd0 100644 --- a/.github/workflows/test_chibios.yml +++ b/.github/workflows/test_chibios.yml @@ -1,10 +1,131 @@ name: test chibios -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove non chibios HAL + - 'libraries/AP_HAL_Linux/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non stm directories + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove non chibios HAL + - 'libraries/AP_HAL_Linux/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non stm directories + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/autotest.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/common.py' + - 'Tools/autotest/examples.py' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/**.txt' + - 'Tools/autotest/logger_metadata/**' + - 'Tools/autotest/param_metadata/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -12,7 +133,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -34,28 +155,13 @@ jobs: signing ] toolchain: [ - chibios, # GCC-6 + chibios, #chibios-clang, ] - gcc: [6, 10] + gcc: [10] exclude: - gcc: 10 toolchain: chibios-clang - - gcc: 6 - config: fmuv2-plane - - gcc: 6 - config: revo-mini - - gcc: 6 - config: MatekF405-Wing - - gcc: 6 - config: periph-build - - gcc: 6 - config: CubeOrange-ODID - - gcc: 6 - config: signing - include: - - config: stm32h7 - toolchain: chibios-py2 steps: # git checkout the PR @@ -67,7 +173,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -82,6 +188,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "chibios-clang" ]]; then export CC=clang export CXX=clang++ diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml index 8d7ba5c87d..126a3e40d9 100644 --- a/.github/workflows/test_environment.yml +++ b/.github/workflows/test_environment.yml @@ -3,6 +3,18 @@ on: schedule: - cron: '0 0 * * 6' # every saturday at midnight workflow_dispatch: + push: + branches: + - CxPilot + - master + paths: + - '.github/workflows/test_environment.yml' + - 'Tools/scripts/environment_install/**' + + pull_request: + paths: + - '.github/workflows/test_environment.yml' + - 'Tools/scripts/environment_install/**' concurrency: @@ -102,6 +114,7 @@ jobs: TZ: Europe/Paris shell: 'script -q -e -c "bash {0}"' run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} source ~/.bashrc git config --global --add safe.directory /__w/ardupilot/ardupilot ./waf configure @@ -114,6 +127,7 @@ jobs: TZ: Europe/Paris shell: 'script -q -e -c "bash {0}"' run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} source ~/.bashrc case ${{matrix.os}} in *"archlinux"*) diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml index bb13d48dc7..b44ec5454f 100644 --- a/.github/workflows/test_linux_sbc.yml +++ b/.github/workflows/test_linux_sbc.yml @@ -1,9 +1,132 @@ name: test Linux SBC -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove non LINUX HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard file from Tools/scripts as not used + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove non LINUX HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_SITL/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +134,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -51,13 +174,13 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master + restore-keys: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}- # restore ccache from either previous build on this branch or on master - name: setup ccache run: | . .github/workflows/ccache.env @@ -66,6 +189,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ diff --git a/.github/workflows/test_replay.yml b/.github/workflows/test_replay.yml index 5923527b1b..4a85335e0f 100644 --- a/.github/workflows/test_replay.yml +++ b/.github/workflows/test_replay.yml @@ -1,9 +1,145 @@ name: test replay -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove autotests stuff + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +147,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -32,7 +168,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -47,6 +183,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ diff --git a/.github/workflows/test_scripting_docs.yml b/.github/workflows/test_scripting_docs.yml index a281bc459e..2be32b0e9f 100644 --- a/.github/workflows/test_scripting_docs.yml +++ b/.github/workflows/test_scripting_docs.yml @@ -1,15 +1,20 @@ -name: test scripting docs +name: test scripting on: push: + branches: + - CxPilot + - master paths: # only run for scripting changes - 'libraries/AP_Scripting/tests/docs_check.py' - 'libraries/AP_Scripting/generator/**' + - '**.lua' pull_request: paths: # only run for scripting changes - 'libraries/AP_Scripting/tests/docs_check.py' - 'libraries/AP_Scripting/generator/**' + - '**.lua' workflow_dispatch: @@ -18,9 +23,9 @@ concurrency: cancel-in-progress: true jobs: - test-scripting-docs: + test-scripting: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-base:latest + container: ardupilot/ardupilot-dev-base:v0.0.29 steps: # git checkout the PR - uses: actions/checkout@v3 @@ -35,6 +40,7 @@ jobs: - name: build sitl # we don't really need to build the full code, just trigger docs re-gen with --scripting-docs, timeout after 10 seconds shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" ./waf configure --board sitl timeout 10 ./waf antennatracker --scripting-docs || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml index 271cb375d0..c22d586db6 100644 --- a/.github/workflows/test_sitl_copter.yml +++ b/.github/workflows/test_sitl_copter.yml @@ -1,9 +1,158 @@ name: test copter -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +160,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,7 +178,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -42,6 +191,7 @@ jobs: - name: build copter ${{ matrix.toolchain }} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ @@ -56,7 +206,7 @@ jobs: needs: build # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -81,9 +231,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -96,6 +246,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh @@ -123,7 +274,7 @@ jobs: build-gcc-heli: runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined steps: # git checkout the PR @@ -135,7 +286,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -148,6 +299,7 @@ jobs: - name: build heli shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" ./waf configure --board sitl ./waf build --target bin/arducopter-heli @@ -157,7 +309,7 @@ jobs: autotest-heli: needs: build-gcc-heli # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-base:latest + container: ardupilot/ardupilot-dev-base:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -175,9 +327,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -190,6 +342,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_periph.yml b/.github/workflows/test_sitl_periph.yml index b236cfcc28..f26d3e7b76 100644 --- a/.github/workflows/test_sitl_periph.yml +++ b/.github/workflows/test_sitl_periph.yml @@ -1,9 +1,157 @@ name: test ap_periph -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles than copter + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest keep only coptertest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles than copter + - 'AntennaTracker/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest keep only coptertest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +159,7 @@ concurrency: jobs: build-gcc-ap_periph: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-base:latest + container: ardupilot/ardupilot-dev-periph:v0.0.29 steps: # git checkout the PR - uses: actions/checkout@v3 @@ -22,7 +170,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -32,11 +180,6 @@ jobs: - name: setup ccache run: | . .github/workflows/ccache.env - - name: install 32-bit libraries - run: | - dpkg --add-architecture i386 - apt-get update - apt-get install -y gcc-multilib g++-multilib - name: run dronecan dsdlc generator test run: | @@ -46,6 +189,7 @@ jobs: - name: build sitl_periph_gps shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" ./waf configure --board sitl_periph_gps ./waf build --target bin/AP_Periph @@ -56,7 +200,7 @@ jobs: needs: build-gcc-ap_periph # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-periph:v0.0.29 options: --privileged strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -75,7 +219,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -85,11 +229,6 @@ jobs: - name: setup ccache run: | . .github/workflows/ccache.env - - name: install 32-bit libraries - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update - sudo apt-get install -y gcc-multilib g++-multilib - name: setup can-utils run: | kernel_ver=`uname -r` @@ -104,6 +243,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} kernel_ver=`uname -r` if [ "$kernel_ver" = "5.4.0-1032-azure" ] || [ "$kernel_ver" = "5.11.4-051104-generic" ]; then echo "Unsupported Kernel $kernel_ver" && exit 0; fi; PATH="/github/home/.local/bin:$PATH" diff --git a/.github/workflows/test_sitl_plane.yml b/.github/workflows/test_sitl_plane.yml index e1903669b8..a91cf72735 100644 --- a/.github/workflows/test_sitl_plane.yml +++ b/.github/workflows/test_sitl_plane.yml @@ -1,9 +1,159 @@ name: test plane -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +161,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,7 +179,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -42,6 +192,7 @@ jobs: - name: build plane ${{ matrix.toolchain }} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ @@ -56,7 +207,7 @@ jobs: needs: build # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -76,9 +227,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -91,6 +242,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_rover.yml b/.github/workflows/test_sitl_rover.yml index 98751a4c6a..c519164478 100644 --- a/.github/workflows/test_sitl_rover.yml +++ b/.github/workflows/test_sitl_rover.yml @@ -1,9 +1,158 @@ name: test rover -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +160,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,7 +178,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -42,6 +191,7 @@ jobs: - name: build rover ${{ matrix.toolchain }} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ @@ -56,7 +206,7 @@ jobs: needs: build # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -77,9 +227,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -92,6 +242,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_sub.yml b/.github/workflows/test_sitl_sub.yml index c5685ce3e0..04eaf44c50 100644 --- a/.github/workflows/test_sitl_sub.yml +++ b/.github/workflows/test_sitl_sub.yml @@ -1,9 +1,161 @@ name: test sub -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'AntennaTracker/**' + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/antennatracker.py' + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +163,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,7 +181,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -42,6 +194,7 @@ jobs: - name: build sub ${{ matrix.toolchain }} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ @@ -56,7 +209,7 @@ jobs: needs: build # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -75,9 +228,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -90,6 +243,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_tracker.yml b/.github/workflows/test_sitl_tracker.yml index 3ded077b4d..81307adf5d 100644 --- a/.github/workflows/test_sitl_tracker.yml +++ b/.github/workflows/test_sitl_tracker.yml @@ -1,9 +1,161 @@ name: test tracker -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # remove other vehicles + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + pull_request: + paths-ignore: + # remove other vehicles + - 'ArduCopter/**' + - 'ArduPlane/**' + - 'ArduSub/**' + - 'Blimp/**' + - 'Rover/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + # remove non SITL directories + - 'Tools/AP_Bootloader/**' + - 'Tools/AP_Periph/**' + - 'Tools/bootloaders/**' + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/Frame_params/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/IO_Firmware/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/Replay/**' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # Discard python file from Tools/scripts as not used + - 'Tools/scripts/**.py' + - 'Tools/scripts/build_sizes/**' + - 'Tools/scripts/build_tests/**' + - 'Tools/scripts/CAN/**' + - 'Tools/scripts/signing/**' + # Remove other vehicles autotest + - 'Tools/autotest/arducopter.py' + - 'Tools/autotest/arduplane.py' + - 'Tools/autotest/ardusub.py' + - 'Tools/autotest/balancebot.py' + - 'Tools/autotest/helicopter.py' + - 'Tools/autotest/location.txt' + - 'Tools/autotest/quadplane.py' + - 'Tools/autotest/rover.py' + - 'Tools/autotest/sailboat.py' + - 'Tools/autotest/swarminit.txt' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + + workflow_dispatch: + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,7 +163,7 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: @@ -29,7 +181,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -42,6 +194,7 @@ jobs: - name: build tracker ${{ matrix.toolchain }} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ @@ -56,7 +209,7 @@ jobs: needs: build # don't try to launch the tests matrix if it doesn't build first, profit from caching for fast build runs-on: ubuntu-20.04 container: - image: ardupilot/ardupilot-dev-base:latest + image: ardupilot/ardupilot-dev-base:v0.0.29 options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined strategy: fail-fast: false # don't cancel if a job from the matrix fails @@ -75,9 +228,9 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files - uses: actions/cache@v3 + uses: actions/cache/restore@v3 with: path: ~/.ccache key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} @@ -90,6 +243,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: bash run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} PATH="/github/home/.local/bin:$PATH" Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml index e576606291..2470a9b722 100644 --- a/.github/workflows/test_size.yml +++ b/.github/workflows/test_size.yml @@ -1,9 +1,57 @@ name: test size -on: [pull_request] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change +on: + pull_request: + paths-ignore: # ignore autotest stuffs + - 'Tools/autotest/**' + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.flake8' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.pre-commit-config.yaml' + - './.pydevproject' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + # Remove generic tools + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # remove non CHIBIOS HAL + - 'libraries/AP_HAL_SITL/**' + - 'libraries/AP_HAL_ESP32/**' + - 'libraries/AP_HAL_Linux/**' + workflow_dispatch: + + concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -11,12 +59,12 @@ concurrency: jobs: build: runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-chibios:latest + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 strategy: fail-fast: false # don't cancel if a job from the matrix fails matrix: toolchain: [ - base, # GCC + chibios, ] config: [ Durandal, @@ -36,7 +84,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml index 0dad924a80..329a4c2a62 100644 --- a/.github/workflows/test_unit_tests.yml +++ b/.github/workflows/test_unit_tests.yml @@ -1,9 +1,97 @@ -name: test unit tests and Python cleanliness +name: test unit tests and sitl building + +on: + push: + branches: + - CxPilot + - master + paths-ignore: + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + # Remove generic tools + - 'Tools/CHDK-Script/**' + - 'Tools/CodeStyle/**' + - 'Tools/completion/**' + - 'Tools/CPUInfo/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/FilterTestTool/**' + - 'Tools/geotag/**' + - 'Tools/GIT_Test/**' + - 'Tools/gittools/**' + - 'Tools/Hello/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/simulink/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/vagrant/**' + - 'Tools/Vicon/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + pull_request: + paths-ignore: + # Remove markdown files as irrelevant + - '**.md' + # Remove dotfile at root directory + - './.dir-locals.el' + - './.dockerignore' + - './.editorconfig' + - './.gitattributes' + - './.github' + - './.gitignore' + - './.valgrind-suppressions' + - './.valgrindrc' + - 'Dockerfile' + - 'Vagrantfile' + - 'Makefile' + # Remove some directories check + - '.vscode/**' + - '.github/ISSUE_TEMPLATE/**' + # Remove generic tools + - 'Tools/CHDK-Script/**' + - 'Tools/CPUInfo/**' + - 'Tools/CodeStyle/**' + - 'Tools/FilterTestTool/**' + - 'Tools/GIT_Test/**' + - 'Tools/Hello/**' + - 'Tools/Linux_HAL_Essentials/**' + - 'Tools/LogAnalyzer/**' + - 'Tools/Pozyx/**' + - 'Tools/PrintVersion.py' + - 'Tools/completion/**' + - 'Tools/debug/**' + - 'Tools/environment_install/**' + - 'Tools/geotag/**' + - 'Tools/gittools/**' + - 'Tools/mavproxy_modules/**' + - 'Tools/simulink/**' + - 'Tools/vagrant/**' + - 'Tools/UDP_Proxy/**' + - 'Tools/Vicon/**' + # remove non SITL HAL + - 'libraries/AP_HAL_ChibiOS/**' + - 'libraries/AP_HAL_ESP32/**' + workflow_dispatch: -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change concurrency: group: ci-${{github.workflow}}-${{ github.ref }} cancel-in-progress: true @@ -23,7 +111,6 @@ jobs: ] config: [ unit-tests, - # python-cleanliness, # DISABLED for 4.3.x sitl # examples, ] @@ -37,7 +124,7 @@ jobs: id: ccache_cache_timestamp run: | NOW=$(date -u +"%F-%T") - echo "{timestamp}=${NOW}" >> $GITHUB_OUTPUT + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - name: ccache cache files uses: actions/cache@v3 with: @@ -52,6 +139,7 @@ jobs: CI_BUILD_TARGET: ${{matrix.config}} shell: 'script -q -e -c "bash {0}"' run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} if [[ ${{ matrix.toolchain }} == "clang" ]]; then export CC=clang export CXX=clang++ From 4dbaa9d308133ac134c4189258c0e8125bcbdebb Mon Sep 17 00:00:00 2001 From: Lokesh-Ramina Date: Mon, 20 Nov 2023 16:20:08 -0800 Subject: [PATCH 5/9] Tools: cygwin directory name changed to Private repo name --- Tools/scripts/cygwin_build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/scripts/cygwin_build.sh b/Tools/scripts/cygwin_build.sh index 7761bd5ae3..66b6ee6da5 100755 --- a/Tools/scripts/cygwin_build.sh +++ b/Tools/scripts/cygwin_build.sh @@ -17,7 +17,7 @@ $GPP_COMPILER -print-sysroot SYS_ROOT=$($GPP_COMPILER -print-sysroot) echo "SYS_ROOT=$SYS_ROOT" -git config --global --add safe.directory /cygdrive/d/a/ardupilot/ardupilot +git config --global --add safe.directory /cygdrive/d/a/carbopilot_V2/carbopilot_V2 rm -rf artifacts mkdir artifacts From d576c8cbd81cc65d27c3772472a0f37c2c7f6b48 Mon Sep 17 00:00:00 2001 From: Bob Long Date: Tue, 21 Nov 2023 12:36:22 +1100 Subject: [PATCH 6/9] CI: Cygwin update to master --- .github/workflows/cygwin_build.yml | 69 +++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index b7bf091939..1c16b0dce3 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -146,27 +146,76 @@ jobs: - uses: actions/checkout@v3 with: submodules: 'recursive' + - name: Prepare ccache timestamp + id: ccache_cache_timestamp + shell: bash + run: | + NOW=$(date -u +"%F-%T") + echo "timestamp=${NOW}" >> $GITHUB_OUTPUT + WORKFLOWNAME="${{github.workflow}}" + NAME_DASHED=${WORKFLOWNAME//+( )/_} + echo "cache-key=${NAME_DASHED}" >> $GITHUB_OUTPUT + - uses: cygwin/cygwin-install-action@master with: - packages: cygwin64 gcc-g++=10.2.0-1 python37 python37-future python37-lxml python37-pip python37-setuptools python37-wheel git procps gettext + packages: cygwin64 gcc-g++=10.2.0-1 ccache python37 python37-future python37-lxml python37-pip python37-setuptools python37-wheel git procps gettext + add-to-path: false + # Put ccache into github cache for faster build + - name: setup ccache + env: + PATH: /usr/bin:$(cygpath ${SYSTEMROOT})/system32 + shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' + run: >- + mkdir -p /cygdrive/d/a/ardupilot/ardupilot/ccache && + mkdir -p /usr/local/etc && + echo "export CCACHE_SLOPPINESS=file_stat_matches" >> ~/ccache.conf && + echo "export CCACHE_DIR=/cygdrive/d/a/ardupilot/ardupilot/ccache" >> ~/ccache.conf && + echo "export CCACHE_BASEDIR=/cygdrive/d/a/ardupilot/ardupilot" >> ~/ccache.conf && + echo "export CCACHE_COMPRESS=1" >> ~/ccache.conf && + echo "export CCACHE_COMPRESSLEVEL=6" >> ~/ccache.conf && + echo "export CCACHE_MAXSIZE=400M" >> ~/ccache.conf && + source ~/ccache.conf && + ccache -s + - name: ccache cache files + uses: actions/cache@v3 + with: + path: D:/a/ardupilot/ardupilot/ccache + key: ${{ steps.ccache_cache_timestamp.outputs.cache-key }}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} + restore-keys: ${{ steps.ccache_cache_timestamp.outputs.cache-key }}-ccache- # restore ccache from either previous build on this branch or on base branch - name: Prepare Python environment env: - HOME: ${{ runner.workspace }}/ardupilot - run: | - bash --login -c "ln -sf /usr/bin/python3.7 /usr/bin/python && ln -sf /usr/bin/pip3.7 /usr/bin/pip" - bash --login -c "python -m pip install empy pexpect" - bash --login -c "python -m pip install dronecan --upgrade" + PATH: /usr/bin:$(cygpath ${SYSTEMROOT})/system32 + shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' + run: >- + ln -sf /usr/bin/python3.7 /usr/bin/python && ln -sf /usr/bin/pip3.7 /usr/bin/pip && + python -m pip install --progress-bar off empy pexpect && + python -m pip install --progress-bar off dronecan --upgrade && + cp /usr/bin/ccache /usr/local/bin/ && + cd /usr/local/bin && ln -s ccache /usr/local/bin/gcc && + ln -s ccache /usr/local/bin/g++ && + ln -s ccache /usr/local/bin/x86_64-pc-cygwin-gcc && + ln -s ccache /usr/local/bin/x86_64-pc-cygwin-g++ + - name: Build SITL env: - HOME: ${{ runner.workspace }}/ardupilot - run: | - bash --login -c "Tools/scripts/cygwin_build.sh" + PATH: /usr/bin:$(cygpath ${SYSTEMROOT})/system32 + shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' + run: >- + export PATH=/usr/local/bin:/usr/bin:$(cygpath ${SYSTEMROOT})/system32 && + source ~/ccache.conf && + Tools/scripts/cygwin_build.sh && + ccache -s - name: Check build files id: check_files uses: andstor/file-existence-action@v2 with: - files: "artifacts/*" + files: | + "artifacts/ArduCopter.elf.exe" + "artifacts/ArduHeli.elf.exe" + "artifacts/ArduPlane.elf.exe" + "artifacts/ArduRover.elf.exe" + "artifacts/ArduSub.elf.exe" fail: true - name: Archive build From 261de9e4754e4f6389ece18fc5f3f8a049fba8eb Mon Sep 17 00:00:00 2001 From: Bob Long Date: Tue, 21 Nov 2023 00:00:38 +0000 Subject: [PATCH 7/9] CI: disable Copter.GyroFFTAverage --- Tools/autotest/arducopter.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tools/autotest/arducopter.py b/Tools/autotest/arducopter.py index e6b07cfee5..33f31bbaf7 100644 --- a/Tools/autotest/arducopter.py +++ b/Tools/autotest/arducopter.py @@ -9103,6 +9103,7 @@ def disabled_tests(self): "AltEstimation": "See https://github.com/ArduPilot/ardupilot/issues/15191", "GroundEffectCompensation_takeOffExpected": "Flapping", "GroundEffectCompensation_touchDownExpected": "Flapping", + "GyroFFTAverage": "Feature disabled, see https://github.com/ardupilot/ardupilot/commit/a4835634e043b1038f04226d219ac4a4fdd87897" } From e4c781ac6e314761233602eb479c59f0871bcbb6 Mon Sep 17 00:00:00 2001 From: Lokesh-Ramina Date: Mon, 20 Nov 2023 19:38:43 -0800 Subject: [PATCH 8/9] AP_EFI: fixed build on boards without EFI support Currawong and DroneCAN --- libraries/AP_EFI/AP_EFI_Currawong_ECU.cpp | 8 ++++--- libraries/AP_EFI/AP_EFI_Currawong_ECU.h | 12 ++++------ libraries/AP_EFI/AP_EFI_DroneCAN.cpp | 11 ++++----- libraries/AP_EFI/AP_EFI_DroneCAN.h | 11 ++++----- libraries/AP_EFI/AP_EFI_config.h | 28 +++++++++++++++++++++++ 5 files changed, 46 insertions(+), 24 deletions(-) diff --git a/libraries/AP_EFI/AP_EFI_Currawong_ECU.cpp b/libraries/AP_EFI/AP_EFI_Currawong_ECU.cpp index 091537807c..4a2d23a74f 100644 --- a/libraries/AP_EFI/AP_EFI_Currawong_ECU.cpp +++ b/libraries/AP_EFI/AP_EFI_Currawong_ECU.cpp @@ -19,10 +19,12 @@ * Author: Reilly Callaway / Currawong Engineering Pty Ltd */ -#include "AP_EFI_Currawong_ECU.h" +#include "AP_EFI_config.h" + -#if HAL_EFI_CURRAWONG_ECU_ENABLED +#if HAL_EFI_ENABLED && HAL_EFI_CURRAWONG_ECU_ENABLED +#include "AP_EFI_Currawong_ECU.h" #include #include #include @@ -103,4 +105,4 @@ bool AP_EFI_Currawong_ECU::handle_message(AP_HAL::CANFrame &frame) return valid; } -#endif // HAL_EFI_CURRAWONG_ECU_ENABLED +#endif // HAL_EFI_CURRAWONG_ECU_ENABLED && HAL_EFI_ENABLED diff --git a/libraries/AP_EFI/AP_EFI_Currawong_ECU.h b/libraries/AP_EFI/AP_EFI_Currawong_ECU.h index 89387e9dd4..f87a15d2b7 100644 --- a/libraries/AP_EFI/AP_EFI_Currawong_ECU.h +++ b/libraries/AP_EFI/AP_EFI_Currawong_ECU.h @@ -21,14 +21,12 @@ #pragma once -#include "AP_EFI.h" -#include "AP_EFI_Backend.h" +#include "AP_EFI_config.h" -#ifndef HAL_EFI_CURRAWONG_ECU_ENABLED -#define HAL_EFI_CURRAWONG_ECU_ENABLED HAL_MAX_CAN_PROTOCOL_DRIVERS && (BOARD_FLASH_SIZE > 1024) -#endif +#if HAL_EFI_ENABLED && HAL_EFI_CURRAWONG_ECU_ENABLED -#if HAL_EFI_CURRAWONG_ECU_ENABLED +#include "AP_EFI.h" +#include "AP_EFI_Backend.h" class AP_EFI_Currawong_ECU : public AP_EFI_Backend { public: @@ -49,5 +47,5 @@ class AP_EFI_Currawong_ECU : public AP_EFI_Backend { friend class AP_PiccoloCAN; }; -#endif // HAL_EFI_CURRAWONG_ECU_ENABLED +#endif // HAL_EFI_CURRAWONG_ECU_ENABLED && HAL_EFI_ENABLED diff --git a/libraries/AP_EFI/AP_EFI_DroneCAN.cpp b/libraries/AP_EFI/AP_EFI_DroneCAN.cpp index 21d374250f..bbabee1fed 100644 --- a/libraries/AP_EFI/AP_EFI_DroneCAN.cpp +++ b/libraries/AP_EFI/AP_EFI_DroneCAN.cpp @@ -1,11 +1,9 @@ -#include #include "AP_EFI_config.h" -#if HAL_EFI_ENABLED -#include "AP_EFI_DroneCAN.h" - -#if HAL_EFI_DRONECAN_ENABLED +#if HAL_EFI_ENABLED && HAL_EFI_DRONECAN_ENABLED +#include +#include "AP_EFI_DroneCAN.h" #include #include @@ -167,5 +165,4 @@ void AP_EFI_DroneCAN::handle_status(const uavcan::equipment::ice::reciprocating: copy_to_frontend(); } -#endif // HAL_EFI_DRONECAN_ENABLED -#endif // HAL_EFI_ENABLED +#endif // HAL_EFI_DRONECAN_ENABLED && HAL_EFI_ENABLED diff --git a/libraries/AP_EFI/AP_EFI_DroneCAN.h b/libraries/AP_EFI/AP_EFI_DroneCAN.h index 35c02d5e37..7d2d5e2b40 100644 --- a/libraries/AP_EFI/AP_EFI_DroneCAN.h +++ b/libraries/AP_EFI/AP_EFI_DroneCAN.h @@ -1,13 +1,10 @@ #pragma once +#include "AP_EFI_config.h" + +#if HAL_EFI_ENABLED && HAL_EFI_DRONECAN_ENABLED #include "AP_EFI.h" #include "AP_EFI_Backend.h" - -#ifndef HAL_EFI_DRONECAN_ENABLED -#define HAL_EFI_DRONECAN_ENABLED HAL_MAX_CAN_PROTOCOL_DRIVERS && BOARD_FLASH_SIZE > 1024 && HAL_CANMANAGER_ENABLED -#endif - -#if HAL_EFI_DRONECAN_ENABLED #include #include @@ -28,5 +25,5 @@ class AP_EFI_DroneCAN : public AP_EFI_Backend { // singleton for trampoline static AP_EFI_DroneCAN *driver; }; -#endif // HAL_EFI_DRONECAN_ENABLED +#endif // HAL_EFI_DRONECAN_ENABLED && HAL_EFI_ENABLED diff --git a/libraries/AP_EFI/AP_EFI_config.h b/libraries/AP_EFI/AP_EFI_config.h index 368e71e3f6..257da4b9bf 100644 --- a/libraries/AP_EFI/AP_EFI_config.h +++ b/libraries/AP_EFI/AP_EFI_config.h @@ -23,3 +23,31 @@ #ifndef AP_EFI_THROTTLE_LINEARISATION_ENABLED #define AP_EFI_THROTTLE_LINEARISATION_ENABLED AP_EFI_SERIAL_HIRTH_ENABLED #endif + +#ifndef HAL_EFI_CURRAWONG_ECU_ENABLED +#define HAL_EFI_CURRAWONG_ECU_ENABLED HAL_MAX_CAN_PROTOCOL_DRIVERS && (BOARD_FLASH_SIZE > 1024) +#endif + +#ifndef HAL_EFI_DRONECAN_ENABLED +#define HAL_EFI_DRONECAN_ENABLED HAL_MAX_CAN_PROTOCOL_DRIVERS && BOARD_FLASH_SIZE > 1024 && HAL_CANMANAGER_ENABLED +#endif + +#ifndef AP_EFI_MAV_ENABLED +#define AP_EFI_MAV_ENABLED AP_EFI_BACKEND_DEFAULT_ENABLED +#endif + +#ifndef AP_EFI_NWPWU_ENABLED +#define AP_EFI_NWPWU_ENABLED AP_EFI_BACKEND_DEFAULT_ENABLED && HAL_MAX_CAN_PROTOCOL_DRIVERS +#endif + +#ifndef AP_EFI_SCRIPTING_ENABLED +#define AP_EFI_SCRIPTING_ENABLED (AP_EFI_BACKEND_DEFAULT_ENABLED && AP_SCRIPTING_ENABLED) +#endif + +#ifndef AP_EFI_SERIAL_MS_ENABLED +#define AP_EFI_SERIAL_MS_ENABLED AP_EFI_BACKEND_DEFAULT_ENABLED +#endif + +#ifndef AP_EFI_SERIAL_LUTAN_ENABLED +#define AP_EFI_SERIAL_LUTAN_ENABLED AP_EFI_BACKEND_DEFAULT_ENABLED +#endif \ No newline at end of file From 7d74b2837c3cd1902a60ee18282c7a4721b00494 Mon Sep 17 00:00:00 2001 From: Lokesh-Ramina Date: Mon, 20 Nov 2023 20:45:13 -0800 Subject: [PATCH 9/9] CI: Carbonix disable features not required This test would be difficult to port to a private repo or are not needed and making our CI take more longer time. - macos not required - test_environment not required - test_size not required - Cygwin not build except for plane --- .github/workflows/cygwin_build.yml | 7 +- .github/workflows/macos_build.yml | 191 --------------------- .github/workflows/test_environment.yml | 140 ---------------- .github/workflows/test_size.yml | 221 ------------------------- Tools/scripts/cygwin_build.sh | 24 +-- 5 files changed, 13 insertions(+), 570 deletions(-) delete mode 100644 .github/workflows/macos_build.yml delete mode 100644 .github/workflows/test_environment.yml delete mode 100644 .github/workflows/test_size.yml diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index 1c16b0dce3..dad336196d 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -210,12 +210,7 @@ jobs: id: check_files uses: andstor/file-existence-action@v2 with: - files: | - "artifacts/ArduCopter.elf.exe" - "artifacts/ArduHeli.elf.exe" - "artifacts/ArduPlane.elf.exe" - "artifacts/ArduRover.elf.exe" - "artifacts/ArduSub.elf.exe" + files: "artifacts/ArduPlane.elf.exe" fail: true - name: Archive build diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml deleted file mode 100644 index 00c66c8208..0000000000 --- a/.github/workflows/macos_build.yml +++ /dev/null @@ -1,191 +0,0 @@ -name: Macos Build - -on: - push: - branches: - - CxPilot - - master - paths-ignore: - # remove other env install scripts - - 'Tools/environment_install/APM_install.sh' - - 'Tools/environment_install/install-ROS-ubuntu.sh' - - 'Tools/environment_install/install-prereqs-arch.sh' - - 'Tools/environment_install/install-prereqs-ubuntu.sh' - - 'Tools/environment_install/install-prereqs-windows-andAPMSource.ps1' - - 'Tools/environment_install/install-prereqs-windows.ps1' - # remove non esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL non stm32 directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove autotests stuff - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - - pull_request: - paths-ignore: - # remove other env install scripts - - 'Tools/environment_install/APM_install.sh' - - 'Tools/environment_install/install-ROS-ubuntu.sh' - - 'Tools/environment_install/install-prereqs-arch.sh' - - 'Tools/environment_install/install-prereqs-ubuntu.sh' - - 'Tools/environment_install/install-prereqs-windows-andAPMSource.ps1' - - 'Tools/environment_install/install-prereqs-windows.ps1' - # remove non esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL non stm32 directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove autotests stuff - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: macos-latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - sitl, - CubeOrange, - ] - - steps: - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - name: Install Prerequisites - shell: bash - run: | - if [[ ${{ matrix.config }} == "sitl" ]]; then - export DO_AP_STM_ENV=0 - fi - Tools/environment_install/install-prereqs-mac.sh -y - source ~/.bash_profile - # Put ccache into github cache for faster build - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - shell: bash - run: | - NOW=$(date -u +"%F-%T") - echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache@v3 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-${{matrix.config}}-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-${{matrix.config}} # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test build ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - source ~/.bash_profile - PATH="/github/home/.local/bin:$PATH" - echo $PATH - ./waf configure --board ${{matrix.config}} - ./waf - ccache -s - ccache -z diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml deleted file mode 100644 index 126a3e40d9..0000000000 --- a/.github/workflows/test_environment.yml +++ /dev/null @@ -1,140 +0,0 @@ -name: test environment setup -on: - schedule: - - cron: '0 0 * * 6' # every saturday at midnight - workflow_dispatch: - push: - branches: - - CxPilot - - master - paths: - - '.github/workflows/test_environment.yml' - - 'Tools/scripts/environment_install/**' - - pull_request: - paths: - - '.github/workflows/test_environment.yml' - - 'Tools/scripts/environment_install/**' - - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-20.04 - container: - image: ${{matrix.os}}:${{matrix.name}} - options: --privileged - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - include: - - os: ubuntu - name: bionic - - os: ubuntu - name: focal - - os: ubuntu - name: hirsute - - os: archlinux - name: latest - - os: debian - name: bullseye - - os: debian - name: buster - steps: - - name: Install Git - timeout-minutes: 30 - env: - DEBIAN_FRONTEND: noninteractive - TZ: Europe/Paris - shell: 'script -q -e -c "bash {0}"' - run: | - case ${{matrix.os}} in - *"ubuntu"*) - apt-get update && apt-get install --no-install-recommends -qy \ - lsb-release \ - sudo \ - git \ - software-properties-common - add-apt-repository ppa:git-core/ppa -y - apt-get update && apt-get install --no-install-recommends -qy git - ;; - *"debian"*) - apt-get update && apt-get install --no-install-recommends -qy \ - lsb-release \ - sudo \ - git \ - software-properties-common - ;; - *"archlinux"*) - pacman -Sy --noconfirm --needed git sudo - ;; - esac - - # git checkout the PR - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - name: test install environment ${{matrix.os}}.${{matrix.name}} - timeout-minutes: 30 - env: - DISABLE_MAVNATIVE: True - DEBIAN_FRONTEND: noninteractive - TZ: Europe/Paris - SKIP_AP_GIT_CHECK: 1 - shell: 'script -q -e -c "bash {0}"' - run: | - PATH="/github/home/.local/bin:$PATH" - ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - sed -i 's/\$EUID/\$ID/' Tools/environment_install/install-prereqs-ubuntu.sh - sed -i 's/sudo usermod/\#sudo usermod/' Tools/environment_install/install-prereqs-ubuntu.sh - sed -i 's/sudo usermod/\#sudo usermod/' Tools/environment_install/install-prereqs-arch.sh - case ${{matrix.os}} in - *"ubuntu"*) - echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections - Tools/environment_install/install-prereqs-ubuntu.sh -qy - ;; - *"debian"*) - Tools/environment_install/install-prereqs-ubuntu.sh -qy - ;; - *"archlinux"*) - cp /etc/skel/.bashrc /root - cp /etc/skel/.bashrc /github/home - git config --global --add safe.directory /__w/ardupilot/ardupilot - Tools/environment_install/install-prereqs-arch.sh -qy - ;; - esac - - - name: test build STIL ${{matrix.os}}.${{matrix.name}} - env: - DISABLE_MAVNATIVE: True - DEBIAN_FRONTEND: noninteractive - TZ: Europe/Paris - shell: 'script -q -e -c "bash {0}"' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - source ~/.bashrc - git config --global --add safe.directory /__w/ardupilot/ardupilot - ./waf configure - ./waf rover - - - name: test build Chibios ${{matrix.os}}.${{matrix.name}} - env: - DISABLE_MAVNATIVE: True - DEBIAN_FRONTEND: noninteractive - TZ: Europe/Paris - shell: 'script -q -e -c "bash {0}"' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - source ~/.bashrc - case ${{matrix.os}} in - *"archlinux"*) - export PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH - export PATH=/__w/ardupilot/ardupilot/ardupilot/Tools/autotest:$PATH - ;; - esac - git config --global --add safe.directory /__w/ardupilot/ardupilot - ./waf configure --board CubeOrange - ./waf plane diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml deleted file mode 100644 index 2470a9b722..0000000000 --- a/.github/workflows/test_size.yml +++ /dev/null @@ -1,221 +0,0 @@ -name: test size - -on: - pull_request: - paths-ignore: # ignore autotest stuffs - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # Remove generic tools - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # remove non CHIBIOS HAL - - 'libraries/AP_HAL_SITL/**' - - 'libraries/AP_HAL_ESP32/**' - - 'libraries/AP_HAL_Linux/**' - workflow_dispatch: - - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - chibios, - ] - config: [ - Durandal, - MatekF405, - Pixhawk1-1M, - Hitec-Airspeed, # see special code for Periph below (3 places!) - f103-GPS # see special code for Periph below (3 places!) - ] - steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.base.ref }} - path: base_branch - submodules: 'recursive' - # Put ccache into github cache for faster build - - name: Prepare ccache timestamp - id: ccache_cache_timestamp - run: | - NOW=$(date -u +"%F-%T") - echo "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache@v3 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-${{ matrix.toolchain }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-${{ matrix.toolchain }}- # restore ccache from either previous build on this branch or on base branch - - name: setup ccache - run: | - . base_branch/.github/workflows/ccache.env - - name: Build ${{ github.event.pull_request.base.ref }} ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - cd base_branch - ./waf configure --board ${{matrix.config}} - if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || - [ "${{matrix.config}}" = "f103-GPS" ]; then - ./waf AP_Periph - else - ./waf - fi - mkdir -p $GITHUB_WORKSPACE/base_branch_bin - cp -r build/${{matrix.config}}/bin/* $GITHUB_WORKSPACE/base_branch_bin/ - - # build a set of binaries without symbols so we can check if - # the binaries have changed. - echo [`date`] Building ${{ github.event.pull_request.base.ref }} with no versions - - NO_VERSIONS_DIR="$GITHUB_WORKSPACE/base_branch_bin_no_versions" - mkdir "$NO_VERSIONS_DIR" - - if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || - [ "${{matrix.config}}" = "f103-GPS" ]; then - CHIBIOS_GIT_VERSION="12345678" GIT_VERSION="abcdef" GIT_VERSION_INT="15" ./waf AP_Periph - else - CHIBIOS_GIT_VERSION="12345678" GIT_VERSION="abcdef" GIT_VERSION_INT="15" ./waf - fi - cp -r build/${{matrix.config}}/bin/* "$NO_VERSIONS_DIR" - - echo [`date`] Built ${{ github.event.pull_request.base.ref }} with no versions - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - path: 'pr' - - - name: Build PR rebased ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - cd pr/ - git config user.email "ardupilot-ci@ardupilot.org" - git config user.name "ArduPilot CI" - git remote add ardupilot https://github.com/ArduPilot/ardupilot.git - git fetch --no-tags --prune --progress ardupilot ${{ github.event.pull_request.base.ref }} - git rebase ardupilot/${{ github.event.pull_request.base.ref }} - git submodule update --init --recursive --depth=1 - ./waf configure --board ${{matrix.config}} - if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || - [ "${{matrix.config}}" = "f103-GPS" ]; then - ./waf AP_Periph - else - ./waf - fi - mkdir $GITHUB_WORKSPACE/pr_bin - cp -r build/${{matrix.config}}/bin/* $GITHUB_WORKSPACE/pr_bin/ - - # build a set of binaries without symbols so we can check if - # the binaries have changed. - echo [`date`] Building PR with no versions - - NO_VERSIONS_DIR="$GITHUB_WORKSPACE/pr_bin_no_versions" - mkdir "$NO_VERSIONS_DIR" - - if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || - [ "${{matrix.config}}" = "f103-GPS" ]; then - CHIBIOS_GIT_VERSION="12345678" GIT_VERSION="abcdef" GIT_VERSION_INT="15" ./waf AP_Periph - else - CHIBIOS_GIT_VERSION="12345678" GIT_VERSION="abcdef" GIT_VERSION_INT="15" ./waf - fi - cp -r build/${{matrix.config}}/bin/* "$NO_VERSIONS_DIR" - - echo [`date`] Built PR with no versions - - # build MatekF405 Plane without quadplane - if [ "${{matrix.config}}" = "MatekF405" ]; then - PLANE_BINARY="build/MatekF405/bin/arduplane.bin" - echo "normal size" - ls -l "$PLANE_BINARY" - EXTRA_HWDEF="/tmp/extra-options.def" - echo "define HAL_QUADPLANE_ENABLED 0" >"$EXTRA_HWDEF" - ./waf configure --board ${{matrix.config}} --extra-hwdef="$EXTRA_HWDEF" - ./waf plane - rm "$EXTRA_HWDEF" - echo "non-quadplane size:" - ls -l "$PLANE_BINARY" - fi - - - name: Full size compare with base branch - shell: bash - run: | - cd pr/ - python3 -m pip install -U tabulate - Tools/scripts/pretty_diff_size.py -m $GITHUB_WORKSPACE/base_branch_bin -s $GITHUB_WORKSPACE/pr_bin - - - name: Checksum compare with ${{ github.event.pull_request.base.ref }} - shell: bash - run: | - diff -r $GITHUB_WORKSPACE/base_branch_bin_no_versions $GITHUB_WORKSPACE/pr_bin_no_versions --exclude=*.elf --exclude=*.apj || true - - - name: elf_diff compare with ${{ github.event.pull_request.base.ref }} - shell: bash - run: | - python3 -m pip install -U weasyprint elf_diff anytree - mkdir elf_diff - if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || - [ "${{matrix.config}}" = "f103-GPS" ]; then - python3 -m elf_diff --bin_prefix=arm-none-eabi- --html_dir=elf_diff/AP_Periph $GITHUB_WORKSPACE/base_branch_bin/AP_Periph $GITHUB_WORKSPACE/pr_bin/AP_Periph - else - python3 -m elf_diff --bin_prefix=arm-none-eabi- --html_dir=elf_diff/plane $GITHUB_WORKSPACE/base_branch_bin/arduplane $GITHUB_WORKSPACE/pr_bin/arduplane - python3 -m elf_diff --bin_prefix=arm-none-eabi- --html_dir=elf_diff/copter $GITHUB_WORKSPACE/base_branch_bin/arducopter $GITHUB_WORKSPACE/pr_bin/arducopter - fi - zip -r elf_diff.zip elf_diff - - - name: Archive elf_diff output - uses: actions/upload-artifact@v3 - with: - name: ELF_DIFF_${{matrix.config}} - path: elf_diff.zip - retention-days: 14 diff --git a/Tools/scripts/cygwin_build.sh b/Tools/scripts/cygwin_build.sh index 66b6ee6da5..b0a4895033 100755 --- a/Tools/scripts/cygwin_build.sh +++ b/Tools/scripts/cygwin_build.sh @@ -25,25 +25,25 @@ mkdir artifacts ( python ./waf --color yes --toolchain $TOOLCHAIN --board sitl configure 2>&1 python ./waf plane 2>&1 - python ./waf copter 2>&1 - python ./waf heli 2>&1 - python ./waf rover 2>&1 - python ./waf sub 2>&1 ) | tee artifacts/build.txt + # python ./waf copter 2>&1 + # python ./waf heli 2>&1 + # python ./waf rover 2>&1 + # python ./waf sub 2>&1 # copy both with exe and without to cope with differences # between windows versions in CI cp -v build/sitl/bin/arduplane artifacts/ArduPlane.elf.exe -cp -v build/sitl/bin/arducopter artifacts/ArduCopter.elf.exe -cp -v build/sitl/bin/arducopter-heli artifacts/ArduHeli.elf.exe -cp -v build/sitl/bin/ardurover artifacts/ArduRover.elf.exe -cp -v build/sitl/bin/ardusub artifacts/ArduSub.elf.exe +# cp -v build/sitl/bin/arducopter artifacts/ArduCopter.elf.exe +# cp -v build/sitl/bin/arducopter-heli artifacts/ArduHeli.elf.exe +# cp -v build/sitl/bin/ardurover artifacts/ArduRover.elf.exe +# cp -v build/sitl/bin/ardusub artifacts/ArduSub.elf.exe cp -v build/sitl/bin/arduplane artifacts/ArduPlane.elf -cp -v build/sitl/bin/arducopter artifacts/ArduCopter.elf -cp -v build/sitl/bin/arducopter-heli artifacts/ArduHeli.elf -cp -v build/sitl/bin/ardurover artifacts/ArduRover.elf -cp -v build/sitl/bin/ardusub artifacts/ArduSub.elf +# cp -v build/sitl/bin/arducopter artifacts/ArduCopter.elf +# cp -v build/sitl/bin/arducopter-heli artifacts/ArduHeli.elf +# cp -v build/sitl/bin/ardurover artifacts/ArduRover.elf +# cp -v build/sitl/bin/ardusub artifacts/ArduSub.elf # Find all cyg*.dll files returned by cygcheck for each exe in artifacts # and copy them over