Skip to content

[pre-commit.ci] pre-commit autoupdate #784

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #784

Workflow file for this run

---
name: Dockcross
on:
push:
paths-ignore:
- '.github/workflows/**'
- '!.github/workflows/dockcross.yml'
pull_request:
paths-ignore:
- '.github/workflows/**'
- '!.github/workflows/dockcross.yml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
# Disable because it seems there is a problem with doctest on ARM
#android:
# name: ${{ matrix.image_name }} (c++${{ matrix.standard }})
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# image_name: [ android-arm, android-arm64, android-x86, android-x86_64 ]
# standard: [ 11, 14, 17, 20 ]
# steps:
# - name: 📥 Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - name: 📂 Load .env file
# if: hashFiles('.github/workflows/.env') != ''
# uses: xom9ikk/dotenv@v2
# with:
# path: .github/workflows
# - name: ✨ Make script dockcross-${{ matrix.image_name }}
# run: docker run --rm dockcross/${{ matrix.image_name }} > ./dockcross-${{ matrix.image_name }}; chmod +x ./dockcross-${{ matrix.image_name }}
# - name: 🔧 Configure
# run: ./dockcross-${{ matrix.image_name }} cmake -S ${{ env.CMAKE_SOURCE_PREFIX }} -B ${{ env.CMAKE_BINARY_PREFIX }} -G Ninja -D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -D CMAKE_CXX_STANDARD=${{ matrix.standard }} -D CMAKE_INSTALL_PREFIX=${{ env.CMAKE_INSTALL_PREFIX }} -D CPPTERMINAL_ENABLE_DOCS=OFF
# - name: ⚙️ Build
# run: ./dockcross-${{ matrix.image_name }} cmake --build ${{ env.CMAKE_BINARY_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} --parallel ${{ env.CMAKE_NUMBER_JOBS }}
# - name: 🧪 Test
# run: ./dockcross-${{ matrix.image_name }} ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
# - name: 🎉 Install
# run: ./dockcross-${{ matrix.image_name }} cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
# - name: ✅ Run examples
# run: ./dockcross-${{ matrix.image_name }} bash ci/examples.sh
linux:
name: ${{ matrix.image_name }} (c++${{ matrix.standard }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Some have problems : linux-armv6-musl, linux-armv7l-musl, linux-arm64-musl, linux-riscv64, linux-m68k-uclibc, linux-riscv32,linux-armv7
image_name: [ linux-arm64, linux-armv5, linux-armv5-musl, linux-armv5-uclibc, linux-armv6, linux-armv7a, linux-mips, linux-mipsel-lts, linux-s390x, linux-ppc64le,
linux-xtensa-uclibc, linux-x86, linux-x64, linux-x64-clang, linux-x64-tinycc ]
standard: [ 11, 14, 17, 20 ]
steps:
- uses: ammaraskar/gcc-problem-matcher@master
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Make script dockcross-${{ matrix.image_name }}
run: docker run --rm dockcross/${{ matrix.image_name }} > ./dockcross-${{ matrix.image_name }}; chmod +x ./dockcross-${{ matrix.image_name }}
- name: 🔧 Configure
run: ./dockcross-${{ matrix.image_name }} cmake -S ${{ env.CMAKE_SOURCE_PREFIX }} -B ${{ env.CMAKE_BINARY_PREFIX }} -G Ninja -D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -D CMAKE_CXX_STANDARD=${{ matrix.standard }} -D CMAKE_INSTALL_PREFIX=${{ env.CMAKE_INSTALL_PREFIX }} -D CPPTERMINAL_ENABLE_DOCS=OFF
- name: ⚙️ Build
run: ./dockcross-${{ matrix.image_name }} cmake --build ${{ env.CMAKE_BINARY_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} --parallel ${{ env.CMAKE_NUMBER_JOBS }}
- name: 🧪 Test
run: ./dockcross-${{ matrix.image_name }} ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: ./dockcross-${{ matrix.image_name }} cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
windows:
name: ${{ matrix.image_name }} (c++${{ matrix.standard }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Some have problems : windows-shared-x86, windows-shared-x64, windows-shared-x64-posix, windows-armv7, windows-arm64
# TODO arm need CMAKE_BUILD_WITH_INSTALL_RPATH
image_name: [ windows-static-x86, windows-static-x64, windows-static-x64-posix ]
standard: [ 11, 14, 17, 20 ]
steps:
- uses: ammaraskar/gcc-problem-matcher@master
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Make script dockcross-${{ matrix.image_name }}
run: docker run --rm dockcross/${{ matrix.image_name }} > ./dockcross-${{ matrix.image_name }}; chmod +x ./dockcross-${{ matrix.image_name }}
- name: 🔧 Configure
run: ./dockcross-${{ matrix.image_name }} cmake -S ${{ env.CMAKE_SOURCE_PREFIX }} -B ${{ env.CMAKE_BINARY_PREFIX }} -G Ninja -D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -D CMAKE_CXX_STANDARD=${{ matrix.standard }} -D CMAKE_INSTALL_PREFIX=${{ env.CMAKE_INSTALL_PREFIX }} -D CPPTERMINAL_ENABLE_DOCS=OFF
- name: ⚙️ Build
run: ./dockcross-${{ matrix.image_name }} cmake --build ${{ env.CMAKE_BINARY_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} --parallel ${{ env.CMAKE_NUMBER_JOBS }}
- name: 🧪 Test
run: ./dockcross-${{ matrix.image_name }} ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: ./dockcross-${{ matrix.image_name }} cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
web:
name: ${{ matrix.image_name }} (c++${{ matrix.standard }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# WARNING Problem with doctest : suppress Tests !!!
# web-wasi has not <thread> !
image_name: [ web-wasm ]
standard: [ 11, 14, 17, 20 ]
steps:
- uses: ammaraskar/gcc-problem-matcher@master
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Make script dockcross-${{ matrix.image_name }}
run: docker run --rm dockcross/${{ matrix.image_name }} > ./dockcross-${{ matrix.image_name }}; chmod +x ./dockcross-${{ matrix.image_name }}
- name: 🔧 Configure
run: ./dockcross-${{ matrix.image_name }} cmake -S ${{ env.CMAKE_SOURCE_PREFIX }} -B ${{ env.CMAKE_BINARY_PREFIX }} -G Ninja -D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -D CMAKE_CXX_STANDARD=${{ matrix.standard }} -D CMAKE_INSTALL_PREFIX=${{ env.CMAKE_INSTALL_PREFIX }} -D CPPTERMINAL_ENABLE_DOCS=OFF
- name: ⚙️ Build
run: ./dockcross-${{ matrix.image_name }} cmake --build ${{ env.CMAKE_BINARY_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} --parallel ${{ env.CMAKE_NUMBER_JOBS }}
#- name: 🧪 Test
# run: ./dockcross-${{ matrix.image_name }} ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: ./dockcross-${{ matrix.image_name }} cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}