factorize cross compilation actions

pull/296/head
mpromonet 2 years ago
parent f10d62512f
commit 00470ad936

@ -1,34 +0,0 @@
name: C/C++ CI linux cross compilation armhf
on: [push]
jobs:
build:
strategy:
matrix:
buildtype: [Debug, Release]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: pkg
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make pkg-config git wget g++-arm-linux-gnueabihf
- name: build
run: |
cmake -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DCMAKE_SYSTEM_PROCESSOR=armhf -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu .
make
- name: cpack
run: |
cpack
echo "artifactPath=$(ls *.deb)" >> $GITHUB_ENV
- uses: actions/upload-artifact@v3
with:
name: ${{ env.artifactPath }}
path: ${{ env.artifactPath }}

@ -1,34 +0,0 @@
name: C/C++ CI linux cross compilation mips
on: [push]
jobs:
build:
strategy:
matrix:
buildtype: [Debug, Release]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: pkg
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make pkg-config git wget g++-mips-linux-gnu
- name: build
run: |
cmake -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DCMAKE_SYSTEM_PROCESSOR=armhf -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=mips-linux-gnu-gcc -DCMAKE_CXX_COMPILER=mips-linux-gnu-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu .
make
- name: cpack
run: |
cpack
echo "artifactPath=$(ls *.deb)" >> $GITHUB_ENV
- uses: actions/upload-artifact@v3
with:
name: ${{ env.artifactPath }}
path: ${{ env.artifactPath }}

@ -1,4 +1,4 @@
name: C/C++ CI linux cross compilation arm64
name: C/C++ CI linux cross compilation arm64/armhf/mips
on: [push]
@ -6,7 +6,27 @@ jobs:
build:
strategy:
matrix:
buildtype: [Debug, Release]
include:
- buildtype: Debug
system: arm64
crosscompiler: aarch64-linux-gnu
- buildtype: Release
system: arm64
crosscompiler: aarch64-linux-gnu
- buildtype: Debug
system: armhf
crosscompiler: arm-linux-gnueabihf
- buildtype: Release
system: armhf
crosscompiler: arm-linux-gnueabihf
- buildtype: Debug
system: mips
crosscompiler: mips-linux-gnu
- buildtype: Release
system: mips
crosscompiler: mips-linux-gnu
runs-on: ubuntu-latest
@ -16,11 +36,11 @@ jobs:
- name: pkg
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make pkg-config git wget gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
sudo apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make pkg-config git g++-${{ matrix.crosscompiler }}
- name: build
run: |
cmake -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DCMAKE_SYSTEM_PROCESSOR=arm64 -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu .
cmake -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.system }} -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=${{ matrix.crosscompilerpkg }}-gcc -DCMAKE_CXX_COMPILER=${{ matrix.crosscompilerpkg }}-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu .
make
- name: cpack

Loading…
Cancel
Save