From 3f5b3979aebb494c02597eed17bafe09c29aad64 Mon Sep 17 00:00:00 2001 From: Joshua Henderson Date: Wed, 29 May 2024 02:38:15 -0400 Subject: [PATCH] ASGARD HWDEF : add wip commit GitHub: remove workflow files to speed testing up wip checkin wip some more WIP : TOOLS: add Asgard_QAV_R2 bootloaders squash wip wip wip wip wip wont compile --- .github/workflows/build_asgard_firmware.yml | 309 +++++ .github/workflows/colcon.yml | 206 --- .github/workflows/cygwin_build.yml | 222 --- .github/workflows/esp32_build.yml | 272 ---- .github/workflows/macos_build.yml | 192 --- .github/workflows/test_ccache.yml | 148 -- .github/workflows/test_coverage.yml | 100 -- .github/workflows/test_dds.yml | 188 --- .github/workflows/test_environment.yml | 139 -- .github/workflows/test_linux_sbc.yml | 202 --- .github/workflows/test_replay.yml | 201 --- .github/workflows/test_scripting.yml | 55 - .github/workflows/test_scripts.yml | 33 - .github/workflows/test_sitl_blimp.yml | 270 ---- .github/workflows/test_sitl_copter.yml | 369 ----- .github/workflows/test_sitl_periph.yml | 242 ---- .github/workflows/test_sitl_plane.yml | 270 ---- .github/workflows/test_sitl_rover.yml | 272 ---- .github/workflows/test_sitl_sub.yml | 271 ---- .github/workflows/test_sitl_tracker.yml | 271 ---- .github/workflows/test_unit_tests.yml | 157 --- Tools/bootloaders/Asgard_QAVR2_bl.bin | Bin 0 -> 19340 bytes Tools/bootloaders/Asgard_QAVR2_bl.hex | 1211 +++++++++++++++++ .../hwdef/Asgard_QAVR2/defaults.parm | 454 ++++++ .../hwdef/Asgard_QAVR2/hwdef-bl.dat | 1 + .../hwdef/Asgard_QAVR2/hwdef.dat | 4 + .../ESCs/BDSHOT_EXT_BLHeli32_AM32.parm | 27 + .../ESCs/TMotor_Alpha_60.parm | 7 + .../ESCs/TMotor_F55A_Pro_II.parm | 9 + .../Energy_Source/Battery/6S_Li_Ion.parm | 15 + ...tu_12S_16000_mAh_Drone_CAN_2_Parallel.parm | 20 + .../Energy_Source/Power_Monitor.parm | 19 + .../Asgardian_Designs/Frames/AOS_Evo_5in.parm | 0 .../Asgardian_Designs/Frames/AOS_V5_5in.parm | 0 .../Frames/Apex_Evo_5in.parm | 0 .../Frames/Heewing_Ranger_T1.parm | 0 .../Asgardian_Designs/Frames/Nano_Goblin | 0 .../Asgardian_Designs/Frames/QAV_R2_5in.parm | 34 + .../Asgardian_Designs/OSD/copter_main.parm | 0 .../Asgardian_Designs/OSD/dji_air_unit.parm | 0 .../hwdef/Asgardian_Designs/OSD/hd_zero.parm | 60 + .../Asgardian_Designs/Operations/acro.parm | 20 + .../Operations/acro_race.parm | 0 .../hwdef/Asgardian_Designs/RID/RID.parm | 17 + .../hwdef/Asgardian_Designs/all_vehicles.parm | 29 + .../hwdef/Asgardian_Designs/copters.parm | 0 .../hwdef/Asgardian_Designs/planes.parm | 0 47 files changed, 2236 insertions(+), 4080 deletions(-) create mode 100644 .github/workflows/build_asgard_firmware.yml delete mode 100644 .github/workflows/colcon.yml delete mode 100644 .github/workflows/cygwin_build.yml delete mode 100644 .github/workflows/esp32_build.yml delete mode 100644 .github/workflows/macos_build.yml delete mode 100644 .github/workflows/test_ccache.yml delete mode 100644 .github/workflows/test_coverage.yml delete mode 100644 .github/workflows/test_dds.yml delete mode 100644 .github/workflows/test_environment.yml delete mode 100644 .github/workflows/test_linux_sbc.yml delete mode 100644 .github/workflows/test_replay.yml delete mode 100644 .github/workflows/test_scripting.yml delete mode 100644 .github/workflows/test_scripts.yml delete mode 100644 .github/workflows/test_sitl_blimp.yml delete mode 100644 .github/workflows/test_sitl_copter.yml delete mode 100644 .github/workflows/test_sitl_periph.yml delete mode 100644 .github/workflows/test_sitl_plane.yml delete mode 100644 .github/workflows/test_sitl_rover.yml delete mode 100644 .github/workflows/test_sitl_sub.yml delete mode 100644 .github/workflows/test_sitl_tracker.yml delete mode 100644 .github/workflows/test_unit_tests.yml create mode 100644 Tools/bootloaders/Asgard_QAVR2_bl.bin create mode 100644 Tools/bootloaders/Asgard_QAVR2_bl.hex create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgard_QAVR2/defaults.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgard_QAVR2/hwdef-bl.dat create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgard_QAVR2/hwdef.dat create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/ESCs/BDSHOT_EXT_BLHeli32_AM32.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/ESCs/TMotor_Alpha_60.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/ESCs/TMotor_F55A_Pro_II.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Energy_Source/Battery/6S_Li_Ion.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Energy_Source/Battery/Tattu_12S_16000_mAh_Drone_CAN_2_Parallel.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Energy_Source/Power_Monitor.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/AOS_Evo_5in.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/AOS_V5_5in.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/Apex_Evo_5in.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/Heewing_Ranger_T1.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/Nano_Goblin create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Frames/QAV_R2_5in.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/OSD/copter_main.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/OSD/dji_air_unit.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/OSD/hd_zero.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Operations/acro.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/Operations/acro_race.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/RID/RID.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/all_vehicles.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/copters.parm create mode 100644 libraries/AP_HAL_ChibiOS/hwdef/Asgardian_Designs/planes.parm diff --git a/.github/workflows/build_asgard_firmware.yml b/.github/workflows/build_asgard_firmware.yml new file mode 100644 index 00000000000000..15e9e2bcff2b93 --- /dev/null +++ b/.github/workflows/build_asgard_firmware.yml @@ -0,0 +1,309 @@ +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/**' + # Remove change on other workflows + - '.github/workflows/test_environment.yml' + workflow_dispatch: + + +concurrency: + group: ci-${{github.workflow}}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-22.04 + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 + strategy: + fail-fast: true # cancel if a job from the matrix fails to save CI time & $$$ + matrix: + toolchain: [ + chibios, + ] + config: [ + # Durandal, + # MatekF405, + # KakuteF7, + MatekH743-bdshot, + # Pixhawk1-1M, + # MatekF405-CAN, # see special "build bootloader" code below + # DrotekP3Pro, # see special "build bootloader" code below + # Hitec-Airspeed, # see special code for Periph below (3 places!) + # f103-GPS # see special code for Periph below (3 places!) + ] + include: + - config: disco + toolchain: armhf + exclude: + - config: disco + toolchain: chibios + steps: + - uses: actions/checkout@v4 + 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: | + set -ex + # set up some variables based on what sort of build we're doing: + BOOTLOADER=0 + AP_PERIPH=0 + if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || + [ "${{matrix.config}}" = "f103-GPS" ]; then + AP_PERIPH=1 + elif [ "${{matrix.config}}" = "MatekF405-CAN" ] || + [ "${{matrix.config}}" = "DrotekP3Pro" ]; then + BOOTLOADER=1 + fi + if [ $BOOTLOADER -eq 1 ]; then + BIN_SRC="build/${{matrix.config}}/bootloader" + else + BIN_SRC="build/${{matrix.config}}/bin" + fi + + git config --global --add safe.directory ${GITHUB_WORKSPACE} + PATH="/github/home/.local/bin:$PATH" + + # build the base branch + cd base_branch + # configure: + if [ $BOOTLOADER -eq 1 ]; then + ./waf configure --board ${{matrix.config}} --bootloader + else + ./waf configure --board ${{matrix.config}} + fi + # build: + if [ $AP_PERIPH -eq 1 ]; then + ./waf AP_Periph + elif [ $BOOTLOADER -eq 1 ]; then + ./waf bootloader + else + ./waf + fi + mkdir -p $GITHUB_WORKSPACE/base_branch_bin + + cp -r $BIN_SRC/* $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" + + # export some environment variables designed to get + # repeatable builds from the same source: + export CHIBIOS_GIT_VERSION="12345678" + export GIT_VERSION="abcdef" + export GIT_VERSION_INT="15" + + if [ $AP_PERIPH -eq 1 ]; then + ./waf AP_Periph + elif [ $BOOTLOADER -eq 1 ]; then + ./waf bootloader + else + ./waf + fi + cp -r $BIN_SRC/* "$NO_VERSIONS_DIR" + + echo [`date`] Built ${{ github.event.pull_request.base.ref }} with no versions + + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + path: 'pr' + + - name: Build PR rebased ${{matrix.config}} ${{ matrix.toolchain }} + env: + CI_BUILD_TARGET: ${{matrix.config}} + shell: bash + run: | + set -ex + # set up some variables based on what sort of build we're doing: + BOOTLOADER=0 + AP_PERIPH=0 + if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || + [ "${{matrix.config}}" = "f103-GPS" ]; then + AP_PERIPH=1 + elif [ "${{matrix.config}}" = "MatekF405-CAN" ] || + [ "${{matrix.config}}" = "DrotekP3Pro" ]; then + BOOTLOADER=1 + fi + if [ $BOOTLOADER -eq 1 ]; then + BIN_SRC="build/${{matrix.config}}/bootloader" + else + BIN_SRC="build/${{matrix.config}}/bin" + fi + git config --global --add safe.directory ${GITHUB_WORKSPACE} + 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 target_repo https://github.com/${{github.event.pull_request.base.repo.full_name}} + git fetch --no-tags --prune --progress target_repo ${{ github.event.pull_request.base.ref }} + git rebase target_repo/${{ github.event.pull_request.base.ref }} + git submodule update --init --recursive --depth=1 + # configure + if [ $BOOTLOADER -eq 1 ]; then + ./waf configure --board ${{matrix.config}} --bootloader + else + ./waf configure --board ${{matrix.config}} + fi + # build + if [ $AP_PERIPH -eq 1 ]; then + ./waf AP_Periph + elif [ $BOOTLOADER -eq 1 ]; then + ./waf bootloader + else + ./waf + fi + mkdir $GITHUB_WORKSPACE/pr_bin + cp -r $BIN_SRC/* $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" + + # export some environment variables designed to get + # repeatable builds from the same source: + export CHIBIOS_GIT_VERSION="12345678" + export GIT_VERSION="abcdef" + export GIT_VERSION_INT="15" + + if [ $AP_PERIPH -eq 1 ]; then + ./waf AP_Periph + elif [ $BOOTLOADER -eq 1 ]; then + ./waf bootloader + else + ./waf + fi + cp -r $BIN_SRC/* "$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/ + Tools/scripts/pretty_diff_size.py -m $GITHUB_WORKSPACE/base_branch_bin -s $GITHUB_WORKSPACE/pr_bin + + - name: Feature compare with ${{ github.event.pull_request.base.ref }} + shell: bash + run: | + set -ex + cd pr/ + BIN_PREFIX="arm-none-eabi-" + if [ "${{matrix.toolchain}}" = "armhf" ]; then + BIN_PREFIX="arm-linux-gnueabihf-" + fi + BOOTLOADER=0 + AP_PERIPH=0 + if [ "${{matrix.config}}" = "Hitec-Airspeed" ] || + [ "${{matrix.config}}" = "f103-GPS" ]; then + AP_PERIPH=1 + elif [ "${{matrix.config}}" = "MatekF405-CAN" ] || + [ "${{matrix.config}}" = "DrotekP3Pro" ]; then + BOOTLOADER=1 + fi + if [ $AP_PERIPH -eq 1 ]; then + EF_BINARY_NAME="AP_Periph" + elif [ $BOOTLOADER -eq 1 ]; then + EF_BINARY_NAME="AP_Bootloader" + else + EF_BINARY_NAME="arduplane" + fi + EF_BASE_BRANCH_BINARY="$GITHUB_WORKSPACE/base_branch_bin/$EF_BINARY_NAME" + EF_PR_BRANCH_BINARY="$GITHUB_WORKSPACE/pr_bin/$EF_BINARY_NAME" + + Tools/scripts/extract_features.py "$EF_BASE_BRANCH_BINARY" -nm "${BIN_PREFIX}nm" >features-base_branch.txt + Tools/scripts/extract_features.py "$EF_PR_BRANCH_BINARY" -nm "${BIN_PREFIX}nm" >features-pr.txt + diff -u features-base_branch.txt features-pr.txt || true + + - 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 diff --git a/.github/workflows/colcon.yml b/.github/workflows/colcon.yml deleted file mode 100644 index e39af18fc16949..00000000000000 --- a/.github/workflows/colcon.yml +++ /dev/null @@ -1,206 +0,0 @@ -name: colcon build/test - -on: - push: - paths-ignore: - # remove not tests vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - '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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - pull_request: - paths-ignore: - # remove not tests vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Rover/**' - - 'Blimp/**' - # remove esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CPUInfo/**' - - 'Tools/CodeStyle/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/GIT_Test/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - '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 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build-test: - runs-on: ubuntu-22.04 - container: - image: ardupilot/ardupilot-dev-ros:latest - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - steps: - # git checkout the PR - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - path: src/ardupilot - # 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-${{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: | - . src/ardupilot/.github/workflows/ccache.env - # https://ardupilot.org/dev/docs/ros2.html#installation-ubuntu - - name: Pull in repos with vcs - run: | - cd src - wget --progress=dot:giga https://raw.githubusercontent.com/ArduPilot/ardupilot/master/Tools/ros2/ros2.repos - vcs import --recursive --debug --shallow --skip-existing < ros2.repos - - name: Install rosdep dependencies - shell: 'bash' - run: | - apt update - rosdep update - # Workaround for flake8 attribute error - # https://github.com/ArduPilot/ardupilot/pull/24277#issuecomment-1632833433 - python -m pip install flake8==3.7.9 - source /opt/ros/humble/setup.bash - rosdep install --from-paths src --ignore-src --default-yes - - name: Install MAVProxy - run: | - # Install this specific version just to prevent rolling updates. - # These are the latest available - python3 -m pip install MAVProxy==1.8.67 - - name: Install local pymavlink - working-directory: ./src/ardupilot/modules/mavlink/pymavlink - run: | - pip install . -U --user - - name: Build with colcon - shell: 'bash' - run: | - source /opt/ros/humble/setup.bash - colcon build --packages-up-to ardupilot_dds_tests --cmake-args -DBUILD_TESTING=ON - - name: Test with colcon - shell: 'bash' - run: | - source install/setup.bash - colcon test --packages-select ardupilot_dds_tests --event-handlers=console_cohesion+ - - name: Report colcon test results - run: | - colcon test-result --all --verbose - diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml deleted file mode 100644 index f836b9c09a923b..00000000000000 --- a/.github/workflows/cygwin_build.yml +++ /dev/null @@ -1,222 +0,0 @@ -name: Cygwin Build - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: 'windows-latest' - - steps: - - uses: actions/checkout@v4 - 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 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: - 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==3.3.4 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: - 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/*" - fail: true - - - name: Archive build - uses: actions/upload-artifact@v3 - with: - name: binaries - path: artifacts - retention-days: 7 diff --git a/.github/workflows/esp32_build.yml b/.github/workflows/esp32_build.yml deleted file mode 100644 index 26185663fe7ac5..00000000000000 --- a/.github/workflows/esp32_build.yml +++ /dev/null @@ -1,272 +0,0 @@ -name: ESP32 Build - -on: - push: - paths-ignore: - # remove non copter and plane vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non esp32 HAL - - 'libraries/AP_HAL_ChibiOS/**' - - '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/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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - pull_request: - paths-ignore: - # remove non copter and plane vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non esp32 HAL - - 'libraries/AP_HAL_ChibiOS/**' - - '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/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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - esp32buzz, - esp32s3empty, - ] - gcc: [10] - - steps: - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Register gcc problem matcher - run: echo "::add-matcher::.github/problem-matchers/gcc.json" - - - name: Register python problem matcher - run: echo "::add-matcher::.github/problem-matchers/python.json" - - - name: Register autotest warn matcher - run: echo "::add-matcher::.github/problem-matchers/autotestwarn.json" - - - name: Register autotest fail matcher - run: echo "::add-matcher::.github/problem-matchers/autotestfail.json" - - - name: Install Prerequisites - shell: bash - run: | - sudo apt-get install git wget libncurses-dev flex bison gperf python3 python3-pip python3-venv python3-setuptools python3-serial python3-gevent python3-cryptography python3-future python3-pyparsing python3-pyelftools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 - sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - update-alternatives --query python - python --version - pip3 install gevent - - # we actualy want 3.11 .. but the above only gave us 3.10, not ok with esp32 builds. - sudo add-apt-repository ppa:deadsnakes/ppa - sudo apt-get update - sudo apt-get install python3.11 python3.11-venv python3.11-distutils -y - sudo apt-get install python3 python3-pip python3-venv python3-setuptools python3-serial python3-cryptography python3-future python3-pyparsing python3-pyelftools - update-alternatives --query python - pip3 install gevent - python --version - python3.11 --version - which python3.11 - sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 11 - update-alternatives --query python - - rm -rf /usr/local/bin/cmake - sudo apt-get remove --purge --auto-remove cmake - sudo apt-get update && \ - sudo apt-get install -y software-properties-common lsb-release && \ - sudo apt-get clean all - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" - sudo apt-get update - sudo apt-get install cmake - - - git submodule update --init --recursive --depth=1 - ./Tools/scripts/esp32_get_idf.sh - - sudo ln -s /usr/bin/ninja /usr/bin/ninja-build - - cd modules/esp_idf - echo "Installing ESP-IDF tools...." - ./install.sh esp32,esp32s3 - cd ../.. - - - - name: build ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - source ~/.bash_profile - PATH="/github/home/.local/bin:$PATH" - echo $PATH - echo "### Configure ${{matrix.config}} :rocket:" >> $GITHUB_STEP_SUMMARY - cd modules/esp_idf - ./install.sh - source ./export.sh - cd ../.. - python -m pip install --progress-bar off future lxml pymavlink MAVProxy pexpect flake8 geocoder empy==3.3.4 dronecan - which cmake - ./waf configure --board ${{matrix.config}} - echo './waf configure --board ${{matrix.config}}' >> $GITHUB_STEP_SUMMARY - echo "### Build Plane ${{matrix.config}} :rocket:" >> $GITHUB_STEP_SUMMARY - echo './waf plane' >> $GITHUB_STEP_SUMMARY - ./waf plane | tee >( grep -vE 'Compiling|Generat|includes.list|Parsing|Validation|Building|Linking|Detecting|linker|\*\*\*\*\*\*\*|Partition|SubType|Checking|esp-idf' --color=never --line-buffered > summary.log) - cat summary.log >> $GITHUB_STEP_SUMMARY - - cp build/${{matrix.config}}/esp-idf_build/ardupilot.bin ./ArduPlane.${{matrix.config}}.bin - cp build/${{matrix.config}}/esp-idf_build/ardupilot.elf ./ArduPlane.${{matrix.config}}.elf - echo "### Build Copter ${{matrix.config}} :rocket:" >> $GITHUB_STEP_SUMMARY - echo './waf copter' >> $GITHUB_STEP_SUMMARY - ./waf copter | tee >( grep -vE 'Compiling|Generat|includes.list|Parsing|Validation|Building|Linking|Detecting|linker|\*\*\*\*\*\*\*|Partition|SubType|Checking|esp-idf' --color=never --line-buffered > summary2.log) - - cat summary2.log >> $GITHUB_STEP_SUMMARY - - cp build/${{matrix.config}}/esp-idf_build/ardupilot.bin ./ArduCopter.${{matrix.config}}.bin - cp build/${{matrix.config}}/esp-idf_build/ardupilot.elf ./ArduCopter.${{matrix.config}}.elf - - cp build/${{matrix.config}}/esp-idf_build/bootloader/bootloader.bin ./bootloader.${{matrix.config}}.bin - cp build/${{matrix.config}}/esp-idf_build/partition_table/partition-table.bin ./partition-table.${{matrix.config}}.bin - - echo "### Assets avail in artifact:" >> $GITHUB_STEP_SUMMARY - ls bootloader* partition* Ardu*.elf Ardu*.bin >> $GITHUB_STEP_SUMMARY - - - name: Archive artifacts - uses: actions/upload-artifact@v3 - with: - name: esp32-binaries -${{matrix.config}} - path: | - /home/runner/work/ardupilot/ardupilot/ArduPlane.${{matrix.config}}.bin - /home/runner/work/ardupilot/ardupilot/ArduPlane.${{matrix.config}}.elf - /home/runner/work/ardupilot/ardupilot/ArduCopter.${{matrix.config}}.bin - /home/runner/work/ardupilot/ardupilot/ArduCopter.${{matrix.config}}.elf - /home/runner/work/ardupilot/ardupilot/bootloader.${{matrix.config}}.bin - /home/runner/work/ardupilot/ardupilot/partition-table.${{matrix.config}}.bin - - - retention-days: 14 - diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml deleted file mode 100644 index 7dba405b0300e6..00000000000000 --- a/.github/workflows/macos_build.yml +++ /dev/null @@ -1,192 +0,0 @@ -name: Macos Build - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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@v4 - 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_ccache.yml b/.github/workflows/test_ccache.yml deleted file mode 100644 index c00521bc7b9dfb..00000000000000 --- a/.github/workflows/test_ccache.yml +++ /dev/null @@ -1,148 +0,0 @@ -name: test ccache - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - chibios, - ] - gcc: [10] - steps: - # git checkout the PR - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - name: ccache test - shell: bash - 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 Durandal,Pixhawk6X --min-cache-pct=70 - diff --git a/.github/workflows/test_coverage.yml b/.github/workflows/test_coverage.yml deleted file mode 100644 index c6dba24a392fc1..00000000000000 --- a/.github/workflows/test_coverage.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: test coverage - -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * 0' # every sunday at midnight -# paths: -# - "*" -# - "!README.md" <-- don't rebuild on doc change -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: - image: ardupilot/ardupilot-dev-${{ matrix.type }}:v0.1.3 - options: --privileged - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - toolchain: [ - base, # GCC - ] - config: [ - coverage, - sitltest-can, - ] - type: [ - coverage, - ] - include: - - config: sitltest-can - type: periph - exclude: - - config: sitltest-can - type: coverage - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - CI_BUILD_TARGET: ${{matrix.config}} - TERM: xterm - shell: 'script -q -e -c "bash {0}"' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - PATH="/github/home/.local/bin:$PATH" - python -m pip install --progress-bar off --user mavproxy - python -m pip uninstall -y pymavlink - git submodule update --init --recursive --depth=1 - (cd modules/mavlink/pymavlink && DISABLE_MAVNATIVE=True MDEF="$PWD/../message_definitions" python -m pip install --progress-bar off --user .) - if [[ ${{ matrix.config }} == "coverage" ]]; then - Tools/scripts/run_coverage.py -f - else - Tools/scripts/run_coverage.py -i - ./waf configure --board sitl_periph_universal --debug --coverage - ./waf build --target bin/AP_Periph - Tools/scripts/run_coverage.py -i - Tools/autotest/autotest.py test.CAN --debug --coverage - Tools/scripts/run_coverage.py -u - fi - - - name: Coveralls - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-lcov: ./reports/lcov-report/lcov.info - flag-name: run-${{matrix.config}} - parallel: true - - - finish: - if: always() - needs: build - runs-on: ubuntu-22.04 - steps: - - name: Coveralls Finished - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.github_token }} - parallel-finished: true diff --git a/.github/workflows/test_dds.yml b/.github/workflows/test_dds.yml deleted file mode 100644 index c8e63c33eda026..00000000000000 --- a/.github/workflows/test_dds.yml +++ /dev/null @@ -1,188 +0,0 @@ -name: test dds - -on: - push: - paths-ignore: - # remove not tests vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - '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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - pull_request: - paths-ignore: - # remove not tests vehicles - - 'AntennaTracker/**' - - 'ArduSub/**' - - 'Rover/**' - - 'Blimp/**' - # remove esp32 HAL - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CPUInfo/**' - - 'Tools/CodeStyle/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/GIT_Test/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - '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 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: - image: ardupilot/ardupilot-dev-ros:latest - options: --user 1001 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - sitl, - stm32h7 - ] - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "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 ${{matrix.config}} - env: - CI_BUILD_TARGET: dds-${{matrix.config}} - shell: 'script -q -e -c "bash {0}"' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: /tmp/buildlogs - retention-days: 14 diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml deleted file mode 100644 index bf5ffa81c20377..00000000000000 --- a/.github/workflows/test_environment.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: test environment setup -on: - schedule: - - cron: '0 0 * * 6' # every saturday at midnight - workflow_dispatch: - push: - paths: - - '.github/workflows/test_environment.yml' - - 'Tools/environment_install/**' - - pull_request: - paths: - - '.github/workflows/test_environment.yml' - - 'Tools/environment_install/**' - - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.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: focal - - os: ubuntu - name: jammy - - os: ubuntu - name: lunar - - os: ubuntu - name: mantic - - 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 -Syu --noconfirm --needed git sudo - ;; - esac - - # git checkout the PR - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - name: test install environment ${{matrix.os}}.${{matrix.name}} - timeout-minutes: 45 - 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 - source $HOME/venv-ardupilot/bin/activate || true - 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 - source $HOME/venv-ardupilot/bin/activate || true - 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_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml deleted file mode 100644 index a66bc24de37b85..00000000000000 --- a/.github/workflows/test_linux_sbc.yml +++ /dev/null @@ -1,202 +0,0 @@ -name: test Linux SBC - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - linux, - navigator, - navio, - navio2, - bbbmini, - bhat, - bebop, - erlebrain2, - pxfmini, - pxf, - canzero, - ] - toolchain: [ - armhf, - ] - include: - - config: navigator - toolchain: armhf-musl - - config: linux - toolchain: base # GCC - exclude: - - config: navigator - toolchain: armhf - - config: linux - toolchain: armhf - - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "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-${{matrix.config}}-${{ matrix.toolchain }}- # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - 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++ - 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 86cd8ba3b307b9..00000000000000 --- a/.github/workflows/test_replay.yml +++ /dev/null @@ -1,201 +0,0 @@ -name: test replay - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - 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++ - fi - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{ matrix.toolchain }}-${{matrix.config}} - path: /tmp/buildlogs - retention-days: 14 diff --git a/.github/workflows/test_scripting.yml b/.github/workflows/test_scripting.yml deleted file mode 100644 index fab7a226deba19..00000000000000 --- a/.github/workflows/test_scripting.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: test scripting - -on: - push: - 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: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - test-scripting: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-base:v0.1.3 - steps: - # git checkout the PR - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Lua Linter - shell: bash - run: | - sudo apt-get update - sudo apt-get -y install lua-check - ./Tools/scripts/run_luacheck.sh - - - 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: | - 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 - - - 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_scripts.yml b/.github/workflows/test_scripts.yml deleted file mode 100644 index b2e0c7bc6d1392..00000000000000 --- a/.github/workflows/test_scripts.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: test scripts - -on: [push, pull_request, workflow_dispatch] - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-base:v0.1.3 - strategy: - fail-fast: false # don't cancel if a job from the matrix fails - matrix: - config: [ - check_autotest_options, - param_parse, - python-cleanliness, - astyle-cleanliness, - validate_board_list, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - name: test ${{matrix.config}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - Tools/scripts/build_ci.sh diff --git a/.github/workflows/test_sitl_blimp.yml b/.github/workflows/test_sitl_blimp.yml deleted file mode 100644 index c43546273c50cd..00000000000000 --- a/.github/workflows/test_sitl_blimp.yml +++ /dev/null @@ -1,270 +0,0 @@ -name: test blimp - -on: - push: - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'ArduCopter/**' - - '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/arduplane.py' - - 'Tools/autotest/arducopter.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 - - 'AntennaTracker/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'ArduCopter/**' - - '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/arduplane.py' - - 'Tools/autotest/arducopter.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 - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: build blimp ${{ matrix.toolchain }} - shell: bash - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - if [[ ${{ matrix.toolchain }} == "clang" ]]; then - export CC=clang - export CXX=clang++ - fi - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl - ./waf build --target bin/blimp - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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-blimp, - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml deleted file mode 100644 index 0a379980978e6e..00000000000000 --- a/.github/workflows/test_sitl_copter.yml +++ /dev/null @@ -1,369 +0,0 @@ -name: test copter - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - 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++ - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - - build-gcc-heli: - runs-on: ubuntu-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - options: --privileged --cap-add=SYS_PTRACE --security-opt apparmor=unconfined --security-opt seccomp=unconfined - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache@v3 - 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: | - . .github/workflows/ccache.env - - 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 - 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-22.04 - container: ardupilot/ardupilot-dev-base:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - 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 df6588792cfe7c..00000000000000 --- a/.github/workflows/test_sitl_periph.yml +++ /dev/null @@ -1,242 +0,0 @@ -name: test ap_periph - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build-gcc-ap_periph: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-periph:v0.1.3 - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache@v3 - 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: | - . .github/workflows/ccache.env - - - name: run dronecan dsdlc generator test - run: | - PATH="/github/home/.local/bin:$PATH" - python modules/DroneCAN/dronecan_dsdlc/dronecan_dsdlc.py -O dsdlc_generated modules/DroneCAN/DSDL/uavcan modules/DroneCAN/DSDL/dronecan modules/DroneCAN/DSDL/com --run-test - - - name: build sitl_periph_universal - shell: bash - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - PATH="/github/home/.local/bin:$PATH" - ./waf configure --board sitl_periph_universal - ./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-22.04 - container: - image: ardupilot/ardupilot-dev-periph:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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" - 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 18b1f0a8019015..00000000000000 --- a/.github/workflows/test_sitl_plane.yml +++ /dev/null @@ -1,270 +0,0 @@ -name: test plane - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - 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++ - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - 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 444ad7f2118c64..00000000000000 --- a/.github/workflows/test_sitl_rover.yml +++ /dev/null @@ -1,272 +0,0 @@ -name: test rover - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: build rover ${{ matrix.toolchain }} - shell: bash - run: | - sudo apt-get update || true - sudo apt-get -y install ppp || true - git config --global --add safe.directory ${GITHUB_WORKSPACE} - if [[ ${{ matrix.toolchain }} == "clang" ]]; then - export CC=clang - export CXX=clang++ - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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-sailboat, - sitltest-balancebot - ] - - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - 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 65812b31b79e5a..00000000000000 --- a/.github/workflows/test_sitl_sub.yml +++ /dev/null @@ -1,271 +0,0 @@ -name: test sub - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - 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++ - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - 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 e9e20eccfd8ae3..00000000000000 --- a/.github/workflows/test_sitl_tracker.yml +++ /dev/null @@ -1,271 +0,0 @@ -name: test tracker - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - 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++ - 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-22.04 - container: - image: ardupilot/ardupilot-dev-base:v0.1.3 - 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@v4 - 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 "timestamp=${NOW}" >> $GITHUB_OUTPUT - - name: ccache cache files - uses: actions/cache/restore@v3 - 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: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} - env: - 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 - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{matrix.config}} - path: | - /tmp/buildlogs - /__w/ardupilot/ardupilot/logs - /__w/ardupilot/ardupilot/ap-*.core - /__w/ardupilot/ardupilot/core.* - /__w/ardupilot/ardupilot/dumpstack.sh_* - /__w/ardupilot/ardupilot/dumpcore.sh_* - retention-days: 14 - - - name: Archive .bin artifacts - uses: actions/upload-artifact@v3 - with: - name: BIN-${{matrix.config}} - path: /__w/ardupilot/ardupilot/logs - retention-days: 7 - diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml deleted file mode 100644 index 609e30386c1ca8..00000000000000 --- a/.github/workflows/test_unit_tests.yml +++ /dev/null @@ -1,157 +0,0 @@ -name: test unit tests and sitl building - -on: - push: - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - 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/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - runs-on: ubuntu-22.04 - container: - image: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.1.3 - 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, - sitl - # examples, - ] - steps: - # git checkout the PR - - uses: actions/checkout@v4 - 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 "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 master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} ${{ matrix.toolchain }} - env: - 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++ - fi - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - - - name: Archive buildlog artifacts - uses: actions/upload-artifact@v3 - if: failure() - with: - name: fail-${{ matrix.toolchain }}-${{matrix.config}} - path: /tmp/buildlogs - retention-days: 14 diff --git a/Tools/bootloaders/Asgard_QAVR2_bl.bin b/Tools/bootloaders/Asgard_QAVR2_bl.bin new file mode 100644 index 0000000000000000000000000000000000000000..66a8b95f29d1beeed4aaa923e9e62ac15f6d408f GIT binary patch literal 19340 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 l-zp*fjzq+55R-Qi*CPG|abhi9j9}6x