diff --git a/.github/workflows/carbonix_build.yml b/.github/workflows/carbonix_build.yml index 71eba2ae7d..d3a0bd343c 100644 --- a/.github/workflows/carbonix_build.yml +++ b/.github/workflows/carbonix_build.yml @@ -252,6 +252,11 @@ jobs: run: | . .github/workflows/ccache.env + - name: Install bash tools + run: | + sudo apt-get update + sudo apt-get -y install xxd + - name: build shell: bash run: | diff --git a/.github/workflows/colcon.yml b/.github/workflows/colcon.yml deleted file mode 100644 index 99fbd84107..0000000000 --- a/.github/workflows/colcon.yml +++ /dev/null @@ -1,145 +0,0 @@ -name: colcon build/test - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - 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' - - 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/cx_build_compare.yml b/.github/workflows/cx_build_compare.yml deleted file mode 100644 index fca0cb3f1c..0000000000 --- a/.github/workflows/cx_build_compare.yml +++ /dev/null @@ -1,128 +0,0 @@ -name: Compare Build Outputs - -on: - pull_request: - types: [labeled] - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build-and-compare: - if: github.event.label.name == 'CX_NO_CODE_CHANGE' - 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] - exclude: - - gcc: 10 - toolchain: chibios-clang - board: ["CubeOrange-Volanti", "CubeOrangePlus-Volanti", "CubeOrange-Ottano", "CubeOrangePlus-Ottano", "CarbonixF405", "CarbonixF405-no-crystal"] - steps: - # git checkout the PR - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - 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: Check if Hwdef directory has been modified - run: | - git fetch origin ${{ github.event.pull_request.base.ref }} - CHANGED=$(git diff --quiet HEAD origin/${{ github.event.pull_request.base.ref }} -- libraries/AP_HAL_ChibiOS/hwdef || echo "changed") - if [ "$CHANGED" = "changed" ]; then - echo "Directory has been modified" - exit 1 - fi - - - name: Build Head and ${{ github.event.pull_request.base.ref }} ${{matrix.board}} - shell: bash - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - PATH="/github/home/.local/bin:$PATH" - - # 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" - ./waf configure --board ${{matrix.board}} - - ./Tools/Carbonix_scripts/build_no_clean.sh ${{ matrix.board }} - - NO_VERSIONS_DIR="$GITHUB_WORKSPACE/${{matrix.board}}/pr_bin_no_versions" - mkdir -p "$NO_VERSIONS_DIR" - cp -r build/${{matrix.board}}/bin/* "$NO_VERSIONS_DIR" - - echo [`date`] Built Base with no versions - - git checkout ${{ github.event.pull_request.base.ref }} - - # 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" - ./Tools/Carbonix_scripts/build_no_clean.sh ${{ matrix.board }} - - NO_VERSIONS_DIR="$GITHUB_WORKSPACE/${{matrix.board}}/base_branch_bin_no_versions" - mkdir -p "$NO_VERSIONS_DIR" - cp -r build/${{matrix.board}}/bin/* "$NO_VERSIONS_DIR" - - echo [`date`] Built ${{ github.event.pull_request.base.ref }} with no versions - - - name: Upload Artifacts - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.board }} - path: ${{ github.workspace }}/${{ matrix.board }} - if-no-files-found: warn - retention-days: 7 - - - name: Compare build outputs - shell: bash - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - PATH="/github/home/.local/bin:$PATH" - differences_found=0 - - for base_file in $GITHUB_WORKSPACE/${{ matrix.board }}/base_branch_bin_no_versions/*.bin - do - base_filename=$(basename "$base_file") - diff_output=$(diff $base_file $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename) || true - if [ "$diff_output" != "" ]; then - echo Failed -- Comparing $base_file and $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename resulted in $diff_output - differences_found=1 - else - echo Passed -- Comparing $base_file and $GITHUB_WORKSPACE/${{ matrix.board }}/pr_bin_no_versions/$base_filename - fi - done - if [ $differences_found -eq 1 ]; then - exit 1 - fi - \ No newline at end of file diff --git a/.github/workflows/esp32_build.yml b/.github/workflows/esp32_build.yml deleted file mode 100644 index c8b3c2cc31..0000000000 --- a/.github/workflows/esp32_build.yml +++ /dev/null @@ -1,208 +0,0 @@ -name: ESP32 Build - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - 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/param_check.yml b/.github/workflows/param_check.yml deleted file mode 100644 index acb973da8a..0000000000 --- a/.github/workflows/param_check.yml +++ /dev/null @@ -1,233 +0,0 @@ -name: Carbonix Parameter Validation -on: - push: - branches: - - CxPilot - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non unrelated tools - - '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/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/ros2/**' - - '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 vehicles autotest - - 'Tools/autotest/antennatracker.py' - - '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/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' - - '.github/workflows/cache_cleanup.yml' - - '.github/workflows/cygwin_build.yml' - - '.github/workflows/test_ccache.yml' - - '.github/workflows/test_linux_sbc.yml' - - '.github/workflows/test_scripts.yml' - - '.github/workflows/test_sitl_periph.yml' - - '.github/workflows/test_sitl_sub.yml' - - '.github/workflows/ccache.env' - - '.github/workflows/esp32_build.yml' - - '.github/workflows/test_chibios.yml' - - '.github/workflows/test_replay.yml' - - '.github/workflows/test_sitl_blimp.yml' - - '.github/workflows/test_sitl_plane.yml' - - '.github/workflows/test_sitl_tracker.yml' - - '.github/workflows/colcon.yml' - - '.github/workflows/test_dds.yml' - - '.github/workflows/test_scripting.yml' - - '.github/workflows/test_sitl_copter.yml' - - '.github/workflows/test_sitl_rover.yml' - - '.github/workflows/test_unit_tests.yml' - - pull_request: - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non unrelated tools - - '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/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/ros2/**' - - '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 vehicles autotest - - 'Tools/autotest/antennatracker.py' - - '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/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' - - '.github/workflows/cache_cleanup.yml' - - '.github/workflows/cygwin_build.yml' - - '.github/workflows/test_ccache.yml' - - '.github/workflows/test_linux_sbc.yml' - - '.github/workflows/test_scripts.yml' - - '.github/workflows/test_sitl_periph.yml' - - '.github/workflows/test_sitl_sub.yml' - - '.github/workflows/ccache.env' - - '.github/workflows/esp32_build.yml' - - '.github/workflows/test_chibios.yml' - - '.github/workflows/test_replay.yml' - - '.github/workflows/test_sitl_blimp.yml' - - '.github/workflows/test_sitl_plane.yml' - - '.github/workflows/test_sitl_tracker.yml' - - '.github/workflows/colcon.yml' - - '.github/workflows/test_dds.yml' - - '.github/workflows/test_scripting.yml' - - '.github/workflows/test_sitl_copter.yml' - - '.github/workflows/test_sitl_rover.yml' - - '.github/workflows/test_unit_tests.yml' - - workflow_dispatch: - -concurrency: - group: ci-${{github.workflow}}-${{ github.ref }} - cancel-in-progress: true - -jobs: - test-parameters: - runs-on: ubuntu-22.04 - container: ardupilot/ardupilot-dev-base:v0.1.3 - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Param Check Unittests - run: > - python Tools/Carbonix_scripts/param_check_unittests.py - - - name: Check Periph Parameters - run: > - python Tools/Carbonix_scripts/param_check.py - --vehicle=AP_Periph - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/cpn_params/**/*.par*m - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/payloads/**/cpn*.par*m - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/payloads/**/CPN*.par*m - - - name: Check Plane Parameters - # Run even if the previous step fails - if: success() || failure() - run: > - python Tools/Carbonix_scripts/param_check.py - --vehicle=Plane - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/defaults.parm - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/payloads/**/Cube*.par*m - libraries/AP_HAL_ChibiOS/hwdef/CarbonixCommon/payloads/**/cube*.par*m - libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Volanti/defaults.parm - libraries/AP_HAL_ChibiOS/hwdef/CubeOrangePlus-Volanti/defaults.parm - libraries/AP_HAL_ChibiOS/hwdef/CubeOrange-Ottano/defaults.parm - libraries/AP_HAL_ChibiOS/hwdef/CubeOrangePlus-Ottano/defaults.parm diff --git a/.github/workflows/test_ccache.yml b/.github/workflows/test_ccache.yml deleted file mode 100644 index 3c8dbdd629..0000000000 --- a/.github/workflows/test_ccache.yml +++ /dev/null @@ -1,152 +0,0 @@ -name: test ccache - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non chibios HAL - - 'libraries/AP_HAL_Linux/**' - - 'libraries/AP_HAL_ESP32/**' - - 'libraries/AP_HAL_SITL/**' - # remove non stm directories - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Remove autotests stuff - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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_chibios.yml b/.github/workflows/test_chibios.yml deleted file mode 100644 index 18b5614d37..0000000000 --- a/.github/workflows/test_chibios.yml +++ /dev/null @@ -1,210 +0,0 @@ -name: test chibios - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove non chibios HAL - - 'libraries/AP_HAL_Linux/**' - - 'libraries/AP_HAL_ESP32/**' - - 'libraries/AP_HAL_SITL/**' - # remove non stm directories - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # Remove change on other workflows - - '.github/workflows/test_environment.yml' - - pull_request: - paths-ignore: - # remove non chibios HAL - - 'libraries/AP_HAL_Linux/**' - - 'libraries/AP_HAL_ESP32/**' - - 'libraries/AP_HAL_SITL/**' - # remove non stm directories - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Remove vehicles autotest we need support of test_build_option.py in the Tools/autotest directory - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/autotest.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/common.py' - - 'Tools/autotest/examples.py' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/**.txt' - - 'Tools/autotest/logger_metadata/**' - - 'Tools/autotest/param_metadata/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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: [ - stm32f7, - stm32h7, - fmuv2-plane, - periph-build, - iofirmware, - CubeOrange-bootloader, - fmuv3-bootloader, - revo-bootloader, - stm32h7-debug, - fmuv3, - revo-mini, - MatekF405-Wing, - CubeOrange-ODID, - CubeRedPrimary-bootloader, - configure-all, - build-options-defaults-test, - signing, - CubeOrange-PPP, - CubeOrange-SOHW, - Pixhawk6X-PPPGW, - ] - toolchain: [ - chibios, - #chibios-clang, - ] - gcc: [10] - exclude: - - gcc: 10 - toolchain: chibios-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.config}}-${{ matrix.toolchain }}-${{ matrix.gcc }}-${{steps.ccache_cache_timestamp.outputs.timestamp}} - restore-keys: ${{github.workflow}}-ccache-${{matrix.config}}-${{ matrix.toolchain }}-${{ matrix.gcc }} # restore ccache from either previous build on this branch or on master - - name: setup ccache - run: | - . .github/workflows/ccache.env - - name: test ${{matrix.config}} ${{ matrix.toolchain }} gcc-${{matrix.gcc}} - env: - CI_BUILD_TARGET: ${{matrix.config}} - shell: bash - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - if [[ ${{ matrix.toolchain }} == "chibios-clang" ]]; then - export CC=clang - export CXX=clang++ - fi - PATH="/usr/lib/ccache:/opt/gcc-arm-none-eabi-${{matrix.gcc}}/bin:$PATH" - PATH="/github/home/.local/bin:$PATH" - Tools/scripts/build_ci.sh - ccache -s - ccache -z diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml deleted file mode 100644 index fb8bffc334..0000000000 --- a/.github/workflows/test_linux_sbc.yml +++ /dev/null @@ -1,143 +0,0 @@ -name: test Linux SBC - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove non LINUX HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - - 'libraries/AP_HAL_SITL/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard file from Tools/scripts as not used - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove autotests stuff - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 36bbad80c4..0000000000 --- a/.github/workflows/test_replay.yml +++ /dev/null @@ -1,205 +0,0 @@ -name: test replay - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove autotests stuff - - 'Tools/autotest/**' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 c5bd48b97b..0000000000 --- a/.github/workflows/test_scripting.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: test scripting - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths: # only run for scripting changes - - 'libraries/AP_Scripting/tests/docs_check.py' - - 'libraries/AP_Scripting/generator/**' - - '**.lua' - - pull_request: - paths: # only run for scripting changes - - 'libraries/AP_Scripting/tests/docs_check.py' - - 'libraries/AP_Scripting/generator/**' - - '**.lua' - - workflow_dispatch: - -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 94559a422a..0000000000 --- a/.github/workflows/test_scripts.yml +++ /dev/null @@ -1,34 +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: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - 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 e79876dad9..0000000000 --- a/.github/workflows/test_sitl_blimp.yml +++ /dev/null @@ -1,197 +0,0 @@ -name: test blimp - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - 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 12b5c35a22..0000000000 --- a/.github/workflows/test_sitl_copter.yml +++ /dev/null @@ -1,297 +0,0 @@ -name: test copter - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 f4cccba0e9..0000000000 --- a/.github/workflows/test_sitl_periph.yml +++ /dev/null @@ -1,246 +0,0 @@ -name: test ap_periph - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles than copter - - 'AntennaTracker/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest keep only coptertest - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/helicopter.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 8306c58669..0000000000 --- a/.github/workflows/test_sitl_plane.yml +++ /dev/null @@ -1,274 +0,0 @@ -name: test plane - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arducopter.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/helicopter.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 1bc2e34642..0000000000 --- a/.github/workflows/test_sitl_rover.yml +++ /dev/null @@ -1,200 +0,0 @@ -name: test rover - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arducopter.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/helicopter.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 821660b6c1..0000000000 --- a/.github/workflows/test_sitl_sub.yml +++ /dev/null @@ -1,198 +0,0 @@ -name: test sub - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'AntennaTracker/**' - - 'ArduCopter/**' - - 'ArduPlane/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest - - 'Tools/autotest/antennatracker.py' - - 'Tools/autotest/arducopter.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/helicopter.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 f8087fe117..0000000000 --- a/.github/workflows/test_sitl_tracker.yml +++ /dev/null @@ -1,198 +0,0 @@ -name: test tracker - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # remove other vehicles - - 'ArduCopter/**' - - 'ArduPlane/**' - - 'ArduSub/**' - - 'Blimp/**' - - 'Rover/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # remove non SITL directories - - 'Tools/AP_Bootloader/**' - - 'Tools/AP_Periph/**' - - 'Tools/bootloaders/**' - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/Frame_params/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/IO_Firmware/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/Replay/**' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # Discard python file from Tools/scripts as not used - - 'Tools/scripts/**.py' - - 'Tools/scripts/build_sizes/**' - - 'Tools/scripts/build_tests/**' - - 'Tools/scripts/CAN/**' - - 'Tools/scripts/signing/**' - # Remove other vehicles autotest - - 'Tools/autotest/arducopter.py' - - 'Tools/autotest/arduplane.py' - - 'Tools/autotest/ardusub.py' - - 'Tools/autotest/balancebot.py' - - 'Tools/autotest/helicopter.py' - - 'Tools/autotest/location.txt' - - 'Tools/autotest/quadplane.py' - - 'Tools/autotest/rover.py' - - 'Tools/autotest/sailboat.py' - - 'Tools/autotest/swarminit.txt' - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.flake8' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.pre-commit-config.yaml' - - './.pydevproject' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # 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 b2e4498d73..0000000000 --- a/.github/workflows/test_unit_tests.yml +++ /dev/null @@ -1,161 +0,0 @@ -name: test unit tests and sitl building - -on: - push: - branches: - - CxPilot - - CxPilot-* - - master - paths-ignore: - # Remove markdown files as irrelevant - - '**.md' - # Remove dotfile at root directory - - './.dir-locals.el' - - './.dockerignore' - - './.editorconfig' - - './.gitattributes' - - './.github' - - './.gitignore' - - './.valgrind-suppressions' - - './.valgrindrc' - - 'Dockerfile' - - 'Vagrantfile' - - 'Makefile' - # Remove some directories check - - '.vscode/**' - - '.github/ISSUE_TEMPLATE/**' - # Remove generic tools - - 'Tools/CHDK-Script/**' - - 'Tools/CodeStyle/**' - - 'Tools/completion/**' - - 'Tools/CPUInfo/**' - - 'Tools/debug/**' - - 'Tools/environment_install/**' - - 'Tools/FilterTestTool/**' - - 'Tools/geotag/**' - - 'Tools/GIT_Test/**' - - 'Tools/gittools/**' - - 'Tools/Hello/**' - - 'Tools/Linux_HAL_Essentials/**' - - 'Tools/LogAnalyzer/**' - - 'Tools/mavproxy_modules/**' - - 'Tools/Pozyx/**' - - 'Tools/PrintVersion.py' - - 'Tools/simulink/**' - - 'Tools/UDP_Proxy/**' - - 'Tools/vagrant/**' - - 'Tools/Vicon/**' - # remove non SITL HAL - - 'libraries/AP_HAL_ChibiOS/**' - - 'libraries/AP_HAL_ESP32/**' - # 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/Carbonix_scripts/carbonix_waf_build.sh b/Tools/Carbonix_scripts/carbonix_waf_build.sh index 6c55af8c38..85ec134432 100755 --- a/Tools/Carbonix_scripts/carbonix_waf_build.sh +++ b/Tools/Carbonix_scripts/carbonix_waf_build.sh @@ -3,16 +3,16 @@ # Exit if any command fails set -e -echo "Running distclean..." -./waf distclean -rm -Rf output +# echo "Running distclean..." +# ./waf distclean +# rm -Rf output -main_boards=("CubeOrange" "CubeOrangePlus" "CubeOrange-Volanti" "CubeOrangePlus-Volanti" "CubeOrange-Ottano" "CubeOrangePlus-Ottano") -for board in "${main_boards[@]}"; do - echo "Compiling ArduPlane for $board..." - ./waf configure --board "$board" -g - ./waf plane -done +# main_boards=("CubeOrange" "CubeOrangePlus" "CubeOrange-Volanti" "CubeOrangePlus-Volanti" "CubeOrange-Ottano" "CubeOrangePlus-Ottano") +# for board in "${main_boards[@]}"; do +# echo "Compiling ArduPlane for $board..." +# ./waf configure --board "$board" -g +# ./waf plane +# done periph_boards=("CarbonixF405" "CarbonixF405-no-crystal")