2020-11-12 13:13:36 -04:00
name : test chibios
2020-12-15 13:02:54 -04:00
on : [ push, pull_request, workflow_dispatch]
2020-11-12 13:13:36 -04:00
# paths:
# - "*"
# - "!README.md" <-- don't rebuild on doc change
2021-06-23 04:42:11 -03:00
concurrency :
group : ci-${{github.workflow}}-${{ github.ref }}
cancel-in-progress : true
2020-11-12 13:13:36 -04:00
jobs :
build :
runs-on : ubuntu-20.04
2021-01-05 17:42:06 -04:00
container : ardupilot/ardupilot-dev-${{ matrix.toolchain }}:latest
2020-11-12 13:13:36 -04:00
strategy :
fail-fast : false # don't cancel if a job from the matrix fails
matrix :
config : [
stm32f7,
stm32h7,
fmuv2-plane,
periph-build,
2020-11-23 06:44:05 -04:00
iofirmware,
CubeOrange-bootloader,
2022-10-04 00:10:42 -03:00
fmuv3-bootloader,
2021-07-20 04:39:53 -03:00
revo-bootloader,
2021-09-01 06:18:06 -03:00
stm32h7-debug,
fmuv3,
revo-mini,
MatekF405-Wing,
2022-08-07 01:10:28 -03:00
CubeOrange-ODID,
2022-07-19 09:22:05 -03:00
configure-all,
2022-09-03 02:20:58 -03:00
build-options-defaults-test,
signing
2020-11-12 13:13:36 -04:00
]
2020-11-23 06:44:05 -04:00
toolchain : [
chibios, # GCC-6
2021-09-01 12:11:45 -03:00
#chibios-clang,
2020-11-23 06:44:05 -04:00
]
2021-07-27 13:20:11 -03:00
gcc : [ 6 , 10 ]
2020-11-23 06:44:05 -04:00
exclude :
2021-07-27 13:20:11 -03:00
- gcc : 10
2020-11-23 06:44:05 -04:00
toolchain : chibios-clang
2021-09-29 05:01:31 -03:00
- gcc : 6
config : fmuv2-plane
- gcc : 6
config : revo-mini
- gcc : 6
config : MatekF405-Wing
2022-04-18 20:34:07 -03:00
- gcc : 6
config : periph-build
2022-08-07 01:10:28 -03:00
- gcc : 6
config : CubeOrange-ODID
2022-09-03 02:20:58 -03:00
- gcc : 6
config : signing
2022-10-04 23:07:16 -03:00
- gcc : 6
config : fmuv3-bootloader
2021-10-01 06:42:11 -03:00
include :
- config : stm32h7
toolchain : chibios-py2
2020-11-12 13:13:36 -04:00
steps :
# git checkout the PR
2022-12-09 07:47:48 -04:00
- uses : actions/checkout@v3
2020-11-12 13:13:36 -04:00
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")
2023-02-03 04:59:53 -04:00
echo "timestamp=${NOW}" >> $GITHUB_OUTPUT
2020-11-12 13:13:36 -04:00
- name : ccache cache files
2022-12-09 07:47:48 -04:00
uses : actions/cache@v3
2020-11-12 13:13:36 -04:00
with :
path : ~/.ccache
2020-11-23 06:44:05 -04:00
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
2020-11-12 13:13:36 -04:00
- name : setup ccache
run : |
2022-02-22 01:23:32 -04:00
. .github/workflows/ccache.env
2020-11-23 06:44:05 -04:00
- name : test ${{matrix.config}} ${{ matrix.toolchain }} gcc-${{matrix.gcc}}
2020-11-12 13:13:36 -04:00
env :
CI_BUILD_TARGET : ${{matrix.config}}
shell : bash
run : |
2023-02-03 13:45:49 -04:00
git config --global --add safe.directory ${GITHUB_WORKSPACE}
2021-06-28 09:08:22 -03:00
if [[ ${{ matrix.toolchain }} == "chibios-clang" ]]; then
2021-09-27 07:33:50 -03:00
export CC=clang
export CXX=clang++
2020-11-23 06:44:05 -04:00
fi
2020-11-12 13:13:36 -04:00
PATH="/usr/lib/ccache:/opt/gcc-arm-none-eabi-${{matrix.gcc}}/bin:$PATH"
PATH="/github/home/.local/bin:$PATH"
Tools/scripts/build_ci.sh
2020-11-23 06:44:05 -04:00
ccache -s
ccache -z