Tools: Add simple Blimp autotest, testing Manual, Loiter and RTL modes #14
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
name: ESP32 Build | |
on: | |
push: | |
paths-ignore: | |
# remove non copter and plane vehicles | |
- 'AntennaTracker/**' | |
- 'ArduSub/**' | |
- 'Blimp/**' | |
- 'Rover/**' | |
# remove non esp32 HAL | |
- 'libraries/AP_HAL_ChibiOS/**' | |
- 'libraries/AP_HAL_SITL/**' | |
# remove non SITL directories | |
- 'Tools/AP_Bootloader/**' | |
- 'Tools/AP_Periph/**' | |
- 'Tools/bootloaders/**' | |
- 'Tools/CHDK-Script/**' | |
- 'Tools/CodeStyle/**' | |
- 'Tools/completion/**' | |
- 'Tools/CPUInfo/**' | |
- 'Tools/debug/**' | |
- 'Tools/environment_install/**' | |
- 'Tools/FilterTestTool/**' | |
- 'Tools/Frame_params/**' | |
- 'Tools/geotag/**' | |
- 'Tools/GIT_Test/**' | |
- 'Tools/gittools/**' | |
- 'Tools/Hello/**' | |
- 'Tools/IO_Firmware/**' | |
- 'Tools/Linux_HAL_Essentials/**' | |
- 'Tools/LogAnalyzer/**' | |
- 'Tools/mavproxy_modules/**' | |
- 'Tools/Pozyx/**' | |
- 'Tools/PrintVersion.py' | |
- 'Tools/Replay/**' | |
- 'Tools/simulink/**' | |
- 'Tools/UDP_Proxy/**' | |
- 'Tools/vagrant/**' | |
- 'Tools/Vicon/**' | |
# Discard python file from Tools/scripts as not used | |
- 'Tools/scripts/**.py' | |
- 'Tools/scripts/build_sizes/**' | |
- 'Tools/scripts/build_tests/**' | |
- 'Tools/scripts/CAN/**' | |
- 'Tools/scripts/signing/**' | |
# Remove autotest | |
- 'Tools/autotest/**' | |
# Remove markdown files as irrelevant | |
- '**.md' | |
# Remove dotfile at root directory | |
- './.dir-locals.el' | |
- './.dockerignore' | |
- './.editorconfig' | |
- './.flake8' | |
- './.gitattributes' | |
- './.github' | |
- './.gitignore' | |
- './.pre-commit-config.yaml' | |
- './.pydevproject' | |
- './.valgrind-suppressions' | |
- './.valgrindrc' | |
- 'Dockerfile' | |
- 'Vagrantfile' | |
- 'Makefile' | |
# Remove some directories check | |
- '.vscode/**' | |
- '.github/ISSUE_TEMPLATE/**' | |
# Remove change on other workflows | |
- '.github/workflows/test_environment.yml' | |
pull_request: | |
paths-ignore: | |
# remove non copter and plane vehicles | |
- 'AntennaTracker/**' | |
- 'ArduSub/**' | |
- 'Blimp/**' | |
- 'Rover/**' | |
# remove non esp32 HAL | |
- 'libraries/AP_HAL_ChibiOS/**' | |
- 'libraries/AP_HAL_SITL/**' | |
# remove non SITL directories | |
- 'Tools/AP_Bootloader/**' | |
- 'Tools/AP_Periph/**' | |
- 'Tools/bootloaders/**' | |
- 'Tools/CHDK-Script/**' | |
- 'Tools/CodeStyle/**' | |
- 'Tools/completion/**' | |
- 'Tools/CPUInfo/**' | |
- 'Tools/debug/**' | |
- 'Tools/environment_install/**' | |
- 'Tools/FilterTestTool/**' | |
- 'Tools/Frame_params/**' | |
- 'Tools/geotag/**' | |
- 'Tools/GIT_Test/**' | |
- 'Tools/gittools/**' | |
- 'Tools/Hello/**' | |
- 'Tools/IO_Firmware/**' | |
- 'Tools/Linux_HAL_Essentials/**' | |
- 'Tools/LogAnalyzer/**' | |
- 'Tools/mavproxy_modules/**' | |
- 'Tools/Pozyx/**' | |
- 'Tools/PrintVersion.py' | |
- 'Tools/Replay/**' | |
- 'Tools/simulink/**' | |
- 'Tools/UDP_Proxy/**' | |
- 'Tools/vagrant/**' | |
- 'Tools/Vicon/**' | |
# Discard python file from Tools/scripts as not used | |
- 'Tools/scripts/**.py' | |
- 'Tools/scripts/build_sizes/**' | |
- 'Tools/scripts/build_tests/**' | |
- 'Tools/scripts/CAN/**' | |
- 'Tools/scripts/signing/**' | |
# Remove autotest | |
- 'Tools/autotest/**' | |
# Remove markdown files as irrelevant | |
- '**.md' | |
# Remove dotfile at root directory | |
- './.dir-locals.el' | |
- './.dockerignore' | |
- './.editorconfig' | |
- './.flake8' | |
- './.gitattributes' | |
- './.github' | |
- './.gitignore' | |
- './.pre-commit-config.yaml' | |
- './.pydevproject' | |
- './.valgrind-suppressions' | |
- './.valgrindrc' | |
- 'Dockerfile' | |
- 'Vagrantfile' | |
- 'Makefile' | |
# Remove some directories check | |
- '.vscode/**' | |
- '.github/ISSUE_TEMPLATE/**' | |
# Remove change on other workflows | |
- '.github/workflows/test_environment.yml' | |
workflow_dispatch: | |
concurrency: | |
group: ci-${{github.workflow}}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false # don't cancel if a job from the matrix fails | |
matrix: | |
config: [ | |
esp32buzz, | |
] | |
gcc: [10] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Install Prerequisites | |
shell: bash | |
run: | | |
sudo apt-get install git wget libncurses-dev flex bison gperf python3 python3-pip python3-setuptools python3-serial 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 | |
rm -rf /usr/local/bin/cmake | |
sudo apt remove --purge --auto-remove cmake | |
sudo apt update && \ | |
sudo apt install -y software-properties-common lsb-release && \ | |
sudo apt 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 update | |
sudo apt 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 2>&1 > /dev/null | |
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 | |
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 dronecan | |
which cmake | |
./waf configure --board ${{matrix.config}} | |
./waf plane | |
cp build/esp32buzz/esp-idf_build/ardupilot.bin ./ArduPlane.bin | |
cp build/esp32buzz/esp-idf_build/ardupilot.elf ./ArduPlane.elf | |
./waf copter | |
cp build/esp32buzz/esp-idf_build/ardupilot.bin ./ArduCopter.bin | |
cp build/esp32buzz/esp-idf_build/ardupilot.elf ./ArduCopter.elf | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: esp32-binaries -${{matrix.config}} | |
path: | | |
/home/runner/work/ardupilot/ardupilot/ArduPlane.bin | |
/home/runner/work/ardupilot/ardupilot/ArduPlane.elf | |
/home/runner/work/ardupilot/ardupilot/ArduCopter.bin | |
/home/runner/work/ardupilot/ardupilot/ArduCopter.elf | |
/home/runner/work/ardupilot/ardupilot/build/esp32buzz/esp-idf_build/bootloader/bootloader.bin | |
/home/runner/work/ardupilot/ardupilot/build/esp32buzz/esp-idf_build/partition_table/partition-table.bin | |
retention-days: 14 | |