Cleaning #516
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Dockcross | |
on: | |
push: | |
pull_request: | |
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 }} | |
#- name: ✅ Run examples | |
# run: ./dockcross-${{ matrix.image_name }} bash ci/examples.sh | |
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 }} | |
#- name: ✅ Run examples | |
# run: ./dockcross-${{ matrix.image_name }} bash ci/examples.sh | |
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 }} | |
#- name: ✅ Run examples | |
# run: ./dockcross-${{ matrix.image_name }} bash ci/examples.sh |