Skip to content

fix: simplify setting the options for project_options #153

fix: simplify setting the options for project_options

fix: simplify setting the options for project_options #153

Workflow file for this run

name: ci-cross-arm
on:
pull_request:
push:
branches:
- main
- master
jobs:
Test:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
cmake:
- true
task:
- rpi3:build.cross
- rpi3:build.cross.bare-metal
- rpi4:build.cross
- rpi4:build.cross.aarch64
- rpi4:build.cross.custom-toolchain
- rpi4-vcpkg:build.cross
include:
- task: rpi3:build.cross
install-cross-compiler: gcc-arm-linux-gnueabi g++-arm-linux-gnueabi gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
target: arm-linux-gnueabi
- task: rpi3:build.cross.bare-metal
install-cross-compiler: gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
target: arm-none-eabi
- task: rpi4:build.cross
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
target: aarch64-linux-gnu
- task: rpi4:build.cross.aarch64
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
target: aarch64-linux-gnu
- task: rpi4:build.cross.custom-toolchain
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
target: aarch64-linux-gnu
- task: rpi4-vcpkg:build.cross
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
target: aarch64-linux-gnu
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Cache
uses: actions/cache@v3
with:
path: |
~/vcpkg
./build/vcpkg_installed
${{ env.HOME }}/.cache/vcpkg/archives
${{ env.XDG_CACHE_HOME }}/vcpkg/archives
${{ env.LOCALAPPDATA }}\vcpkg\archives
${{ env.APPDATA }}\vcpkg\archives
key: ${{ runner.os }}-cross-${{ matrix.target }}-${{ env.BUILD_TYPE }}-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('./vcpkg.json')}}-${{ matrix.cmake }}
restore-keys: |
${{ runner.os }}-${{ env.BUILD_TYPE }}-
- name: Setup Cpp
uses: aminya/setup-cpp@v1
with:
cmake: ${{ matrix.cmake }}
ninja: true
vcpkg: true
conan: true
cppcheck: true
clangtidy: true
task: true
doxygen: true
- name: Setup ARM (Cross) Compiler
run: sudo apt-get install -y ${{ matrix.install-cross-compiler }}
shell: bash
- name: Build (Task)
run: |
task ${{ matrix.task }}
env:
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}