Revert "Merge branch 'ardupilot4.5.3' of https://github.com/JosephSte… #28
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Periodically compare this script to test_chibios.yml. They should be kept | |
# mostly in sync. Mainly make sure this is running the same docker image and | |
# toolchain. I've done a lot of awkward things in the matrix strategy to | |
# minimize the differences between the two files to make it easier to keep them | |
# in sync. | |
name: ArgenTech Build | |
on: | |
push: | |
branches: | |
- ardupilot4.5.3 | |
- 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: [ | |
default, # Makes it easier to keep merged to have this single config | |
] | |
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: Build all supported flight controllers | |
shell: bash | |
run: | | |
boards=( | |
"CubeBlack" | |
"CubeOrange" | |
"CubeOrangePlus" | |
"Pixhawk1" | |
"Pixhawk4" | |
"Pixhawk6C" | |
"MatekH743" | |
) | |
for board in "${boards[@]}"; do | |
echo "Compiling ArduPlane for $board..." | |
./waf configure --board "$board" | |
./waf plane | |
done | |
echo "Script completed successfully." | |
- name: Install zip utility | |
run: sudo apt-get install zip | |
- name: Archive build output | |
run: | | |
echo build/*/bin/ | xargs -n 1 cp -v ArduPlane/ReleaseNotes.txt | |
cp -v ArduPlane/ReleaseNotes.txt build/ | |
zip -r build-output.zip build/*/bin/* | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: compiled-output | |
path: build-output.zip | |
retention-days: 90 |