From a1b3bffd4ff286a021e30d2d57762c920d315417 Mon Sep 17 00:00:00 2001 From: Lokesh-Ramina Date: Mon, 27 Nov 2023 17:57:13 -0800 Subject: [PATCH 1/2] AP_Periph: print version name --- Tools/AP_Periph/AP_Periph.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Tools/AP_Periph/AP_Periph.cpp b/Tools/AP_Periph/AP_Periph.cpp index 3f61511a59..c645507d82 100644 --- a/Tools/AP_Periph/AP_Periph.cpp +++ b/Tools/AP_Periph/AP_Periph.cpp @@ -25,6 +25,7 @@ #include "AP_Periph.h" #include #include +#include #if CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS #include @@ -245,6 +246,10 @@ void AP_Periph_FW::init() #if AP_SCRIPTING_ENABLED scripting.init(); #endif + +#ifdef AP_CUSTOM_FIRMWARE_STRING + GCS_SEND_TEXT(MAV_SEVERITY_INFO, AP_CUSTOM_FIRMWARE_STRING); +#endif start_ms = AP_HAL::native_millis(); } From 41094fcf3007ed7b3bc7c03ce8bbb87e05ebee40 Mon Sep 17 00:00:00 2001 From: Lokesh-Ramina Date: Tue, 28 Nov 2023 14:47:14 -0800 Subject: [PATCH 2/2] CI: Carbonix build script added --- .github/workflows/carbonix_build.yml | 206 +++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 .github/workflows/carbonix_build.yml diff --git a/.github/workflows/carbonix_build.yml b/.github/workflows/carbonix_build.yml new file mode 100644 index 0000000000..d73ab4d136 --- /dev/null +++ b/.github/workflows/carbonix_build.yml @@ -0,0 +1,206 @@ +name: Build and Archive + +on: + push: + branches: + - 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/**' + + 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/**' + +concurrency: + group: ci-${{github.workflow}}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-20.04 + container: ardupilot/ardupilot-dev-${{ matrix.toolchain }}:v0.0.29 + strategy: + fail-fast: false # don't cancel if a job from the matrix fails + matrix: + toolchain: [ + chibios, + #chibios-clang, + ] + gcc: [10] + exclude: + - gcc: 10 + toolchain: chibios-clang + + steps: + # git checkout the PR + - uses: actions/checkout@v3 + 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: build Carbonix Flight Controller + shell: bash + run: | + boards=("CubeOrange" "CarbonixCubeOrange" "sitl") + for board in "${boards[@]}"; do + echo "Compiling AP_Periph for $board..." + ./Tools/scripts/build_bootloaders.py "$board" + ./waf configure --board "$board" + ./waf plane + done + echo "Script completed successfully." + - name: build Carbonix Periph boards + shell: bash + run: | + boards=("CarbonixF405" "Volanti-M1" "Volanti-M2" "Volanti-M3" "Volanti-M4" "Volanti-M5" "Volanti-LWing" "Volanti-RWing" "Volanti-LTail" "Volanti-RTail" "Ottano-M1" "Ottano-M2" "Ottano-M3" "Ottano-M4" "Ottano-M5" "Ottano-LWing" "Ottano-RWing" "Ottano-LTail" "Ottano-RTail") + for board in "${boards[@]}"; do + echo "Compiling AP_Periph for $board..." + ./Tools/scripts/build_bootloaders.py "$board" + ./waf configure --board "$board" + ./waf AP_Periph + done + echo "Script completed successfully." + - name: Check build files + id: check_files + uses: andstor/file-existence-action@v2 + with: + files: "build/CubeOrange/*, build/CarbonixCubeOrange/*, build/sitl/*, build/CarbonixF405/*, build/Volanti-M1/*, build/Volanti-M2/*, build/Volanti-M3/*, build/Volanti-M4/*, build/Volanti-M5/*, build/Volanti-LWing/*, build/Volanti-RWing/*, build/Volanti-LTail/*, build/Volanti-RTail/*, build/Ottano-M1/*, build/Ottano-M2/*, build/Ottano-M3/*, build/Ottano-M4/*, build/Ottano-M5/*, build/Ottano-LWing/*, build/Ottano-RWing/*, build/Ottano-LTail/*, build/Ottano-RTail/*" + fail: true + - name: Install zip utility + run: sudo apt-get install zip + - name: Archive build output + run: | + zip -r build-output.zip build/ + - name: Archive production artifacts + uses: actions/upload-artifact@v3 + with: + name: compiled-output + path: build-output.zip + retention-days: 90