diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml deleted file mode 100644 index 9a79c07789ee7..0000000000000 --- a/.github/workflows/cygwin_build.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Cygwin Build - -on: [push, pull_request, workflow_dispatch] - -jobs: - build: - runs-on: 'windows-latest' - - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - name: Install cygwin - env: - HOME: ${{ runner.workspace }}/ardupilot - run: | - choco install cygwin --params "/InstallDir:C:\Cygwin /NoStartMenu /NoAdmin" - choco install cygwin32-gcc-g++ python37 python37-future python37-lxml python37-pip python37-setuptools python37-wheel git libexpat procps gettext --source cygwin - C:\Cygwin\bin\bash --login -c "ln -sf /usr/bin/python3.7 /usr/bin/python && ln -sf /usr/bin/pip3.7 /usr/bin/pip" - - name: Build SITL - env: - HOME: ${{ runner.workspace }}/ardupilot - run: | - C:\Cygwin\bin\bash --login -c "Tools/scripts/cygwin_build.sh" - - - name: Archive build - uses: actions/upload-artifact@v2 - with: - name: binaries - path: artifacts - retention-days: 7 diff --git a/.github/workflows/issue_notifier.yml b/.github/workflows/issue_notifier.yml deleted file mode 100644 index c7b55c54004e4..0000000000000 --- a/.github/workflows/issue_notifier.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Notify users based on issue labels - -on: - issues: - types: [labeled] - pull_request_target: - types: [labeled] - -jobs: - notify: - runs-on: ubuntu-latest - steps: - - uses: bugobliterator/issue-label-notification-action@master - with: - recipients: | - CAN=@bugobliterator - AP_Periph=@bugobliterator - ChibiOS=@bugobliterator - Compass=@bugobliterator - bootloader=@bugobliterator diff --git a/.github/workflows/test_chibios.yml b/.github/workflows/test_chibios.yml deleted file mode 100644 index 0b51e85e187d3..0000000000000 --- a/.github/workflows/test_chibios.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: test chibios - -on: [push, pull_request, workflow_dispatch] - -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - stm32f7, - stm32h7, - fmuv2-plane, - periph-build, - iofirmware, - CubeOrange-bootloader, - revo-bootloader - ] - toolchain: [ - chibios, # GCC-6 - chibios-clang, - ] - gcc: [6, 9] - exclude: - - gcc: 9 - toolchain: chibios-clang - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{ matrix.gcc }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{ matrix.gcc }} # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} ${{ matrix.toolchain }} gcc-${{matrix.gcc}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "chibios-clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/usr/lib/ccache:/opt/gcc-arm-none-eabi-${{matrix.gcc}}/bin:$PATH" - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - ccache -s - ccache -z diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml index b2ef4c28b927f..545fee7559237 100644 --- a/.github/workflows/test_coverage.yml +++ b/.github/workflows/test_coverage.yml @@ -1,6 +1,7 @@ name: test coverage on: + pull_request: workflow_dispatch: schedule: - cron: '0 0 * * 0' # every sunday at midnight diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml deleted file mode 100644 index 03d43085a5f46..0000000000000 --- a/.github/workflows/test_linux_sbc.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: test Linux SBC - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - navigator - ] - toolchain: [ - armhf, - ] - include: - - config: navigator - toolchain: armhf-musl - exclude: - - config: navigator - toolchain: armhf - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = ",clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - ccache -s - ccache -z diff --git a/.github/workflows/test_replay.yml b/.github/workflows/test_replay.yml deleted file mode 100644 index 2f8f05c59269e..0000000000000 --- a/.github/workflows/test_replay.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: test replay - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - config: [ - replay - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{ matrix.toolchain }}-${{matrix.config}} - path: /tmp/buildlogs - retention-days: 14 diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml deleted file mode 100644 index fcc93adf830bc..0000000000000 --- a/.github/workflows/test_sitl_copter.yml +++ /dev/null @@ -1,229 +0,0 @@ -name: test copter - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build copter ${{ matrix.toolchain }} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/arducopter - ccache -s - ccache -z - - autotest: - 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 - 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 - matrix: - config: [ - sitltest-copter-tests1a, - sitltest-copter-tests1b, - sitltest-copter-tests1c, - sitltest-copter-tests1d, - sitltest-copter-tests1e, - sitltest-copter-tests2a, - sitltest-copter-tests2b, - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - - build-gcc-heli: - 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 - options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build heli - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/arducopter-heli - ccache -s - ccache -z - - 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 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - sitltest-heli, - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 diff --git a/.github/workflows/test_sitl_periph.yml b/.github/workflows/test_sitl_periph.yml deleted file mode 100644 index 592dd35fd9226..0000000000000 --- a/.github/workflows/test_sitl_periph.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: test ap_periph - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build-gcc-ap_periph: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-base:latest - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: install 32-bit libraries - run: | - dpkg --add-architecture i386 - apt-get update - apt-get install -y gcc-multilib g++-multilib - - - name: build sitl_periph_gps - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl_periph_gps - ./waf build --target bin/AP_Periph - ccache -s - ccache -z - - autotest-can: - 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 - options: --privileged - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - sitltest-can, - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - 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` - if [ "$kernel_ver" = "5.4.0-1032-azure" ]; then echo "Unsupported Kernel $kernel_ver" && exit 0; fi; - sudo apt-get update - sudo apt-get -y install can-utils iproute2 linux-modules-extra-$(uname -r) - sudo modprobe vcan - sudo ip link add dev vcan0 type vcan - sudo ip link set up vcan0 - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - kernel_ver=`uname -r` - if [ "$kernel_ver" = "5.4.0-1032-azure" ]; then echo "Unsupported Kernel $kernel_ver" && exit 0; fi; - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_plane.yml b/.github/workflows/test_sitl_plane.yml deleted file mode 100644 index 2c36c94391024..0000000000000 --- a/.github/workflows/test_sitl_plane.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: test plane - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build plane ${{ matrix.toolchain }} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/arduplane - ccache -s - ccache -z - - autotest: - 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 - 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 - matrix: - config: [ - sitltest-plane, - sitltest-quadplane, - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_sitl_rover.yml b/.github/workflows/test_sitl_rover.yml deleted file mode 100644 index c5da2026ba56a..0000000000000 --- a/.github/workflows/test_sitl_rover.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: test rover - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build rover ${{ matrix.toolchain }} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/ardurover - ccache -s - ccache -z - - autotest: - 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 - 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 - matrix: - config: [ - sitltest-rover, - sitltest-balancebot - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_sitl_sub.yml b/.github/workflows/test_sitl_sub.yml deleted file mode 100644 index fd0665ae52aeb..0000000000000 --- a/.github/workflows/test_sitl_sub.yml +++ /dev/null @@ -1,121 +0,0 @@ -name: test sub - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build sub ${{ matrix.toolchain }} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/ardusub - ccache -s - ccache -z - - autotest: - 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 - 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 - matrix: - config: [ - sitltest-sub - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_sitl_tracker.yml b/.github/workflows/test_sitl_tracker.yml deleted file mode 100644 index 07c228f4ef4bf..0000000000000 --- a/.github/workflows/test_sitl_tracker.yml +++ /dev/null @@ -1,121 +0,0 @@ -name: test tracker - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: build tracker ${{ matrix.toolchain }} - shell: bash - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/antennatracker - ccache -s - ccache -z - - autotest: - 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 - 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 - matrix: - config: [ - sitltest-tracker - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - with: - path: ~/.ccache - key: ${{github.workflow}}-ccache-base-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-base- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v2 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml deleted file mode 100644 index 9a868707a3817..0000000000000 --- a/.github/workflows/test_size.yml +++ /dev/null @@ -1,91 +0,0 @@ -name: test size - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: ardupilot/ardupilot-dev-chibios:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - ] - config: [ - Durandal, - MatekF405, - Pixhawk1-1M - ] - steps: - - uses: actions/checkout@v2 - with: - ref: 'master' - path: 'master' - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - - name: Build master ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - PATH="/github/home/.local/bin:$PATH" - cd master - ./waf configure --board ${{matrix.config}} - ./waf - mkdir -p $GITHUB_WORKSPACE/master_bin - cp -r build/${{matrix.config}}/bin/* $GITHUB_WORKSPACE/master_bin/ - - - uses: actions/checkout@v2 - 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 master - git rebase ardupilot/master - git submodule update --init --recursive --depth=1 - ./waf configure --board ${{matrix.config}} - ./waf - mkdir $GITHUB_WORKSPACE/pr_bin - cp -r build/${{matrix.config}}/bin/* $GITHUB_WORKSPACE/pr_bin/ - - - name: Full size compare with Master - shell: bash - run: | - cd pr/ - python3 -m pip install -U tabulate - Tools/scripts/pretty_diff_size.py -m $GITHUB_WORKSPACE/master_bin -s $GITHUB_WORKSPACE/pr_bin diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml deleted file mode 100644 index 6c7cc0620b6ef..0000000000000 --- a/.github/workflows/test_unit_tests.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: test unit tests and Python cleanliness - -on: [push, pull_request, workflow_dispatch] -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change - -jobs: - build: - runs-on: ubuntu-20.04 - container: - image: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest - options: --user 1001 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - clang, - ] - config: [ - unit-tests, - python-cleanliness, - # examples, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v2 - with: - 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 "::set-output name=timestamp::${NOW}" - - name: ccache cache files - uses: actions/cache@v2 - 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 master - - name: setup ccache - run: | - mkdir -p ~/.ccache - echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf - echo "compression = true" >> ~/.ccache/ccache.conf - echo "compression_level = 6" >> ~/.ccache/ccache.conf - echo "max_size = 400M" >> ~/.ccache/ccache.conf - ccache -s - ccache -z - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: 'script -q -e -c "bash {0}"' - run: | - if [[ ${{ matrix.toolchain }} = "clang" ]]; then - export CC=clang-7 - export CXX=clang++-7 - fi - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v2 - if: failure() - with: - name: fail-${{ matrix.toolchain }}-${{matrix.config}} - path: /tmp/buildlogs - retention-days: 14