Skip to content

Another Try 3

Another Try 3 #927

Workflow file for this run

# taken from https://github.com/onqtam/doctest/blob/master/.github/workflows/main.yml
name: C/C++ CI
on:
push:
pull_request:
types: [opened, reopened, synchronize]
workflow_dispatch:
inputs:
job_to_run:
description: 'Select the job to run manually'
type: 'choice'
options:
- 'test_arm32'
- 'test_s390x'
- 'test_ppc64le'
default: 'test_arm32'
log_level:
description: 'Log level'
required: false
default: 'info'
jobs:
# build:
# strategy:
# fail-fast: false
# matrix:
# include: [
# { system: MacOS, runner: macos-latest },
# { system: Ubuntu-22, runner: ubuntu-22.04 },
# { system: Ubuntu-latest, runner: ubuntu-latest },
# ]
# name: ${{ matrix.system }} Build
# runs-on: ${{ matrix.runner }}
# if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
# steps:
# - uses: actions/checkout@v5
# - name: cmake
# run: cmake -DOJPH_BUILD_STREAM_EXPAND=ON ..
# working-directory: build
# - name: build
# run: make
# working-directory: build
build_mac:
strategy:
fail-fast: false
matrix:
include: [
{ system: MacOS Dual Build, runner: macos-latest },
]
name: ${{ matrix.system }} Build
runs-on: ${{ matrix.runner }}
if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
steps:
- uses: actions/checkout@v5
- name: cmake
run: cmake -DOJPH_BUILD_STREAM_EXPAND=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DOJPH_ENABLE_TIFF_SUPPORT=OFF ..
working-directory: build
- name: build
run: make
working-directory: build
# build_windows:
# strategy:
# fail-fast: false
# matrix:
# include: [
# { system: Windows, runner: windows-latest },
# ]
# name: ${{ matrix.system }} Build
# runs-on: ${{ matrix.runner }}
# if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
# steps:
# - uses: actions/checkout@v5
# - name: cmake
# run: cmake -A x64 -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_STREAM_EXPAND=ON ..
# working-directory: build
# - name: build
# run: cmake --build . --config Release
# working-directory: build
# build_msys2:
# strategy:
# fail-fast: false
# matrix:
# include: [
# { system: Windows-MSYS2-UCRT64, runner: windows-latest, msystem: UCRT64 },
# { system: Windows-MinGW32, runner: windows-latest, msystem: MINGW32 },
# ]
# name: ${{ matrix.system }} Build
# runs-on: ${{ matrix.runner }}
# if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
# defaults:
# run:
# shell: msys2 {0}
# steps:
# - uses: actions/checkout@v5
# - uses: msys2/setup-msys2@v2
# with:
# msystem: ${{ matrix.msystem }}
# update: false
# pacboy: cc:p cmake:p libtiff:p
# - name: cmake
# run: cmake -DOJPH_BUILD_STREAM_EXPAND=ON ..
# working-directory: build
# - name: build
# run: cmake --build . --config Release
# working-directory: build
# build_windows_on_arm:
# strategy:
# fail-fast: false
# matrix:
# include: [
# { system: WindowsOnARM, runner: windows-11-arm },
# ]
# name: ${{ matrix.system }} Build
# runs-on: ${{ matrix.runner }}
# if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
# steps:
# - uses: actions/checkout@v5
# - name: cmake
# run: cmake -A ARM64 -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_STREAM_EXPAND=ON ..
# working-directory: build
# - name: build
# run: cmake --build . --config Release
# working-directory: build
test:
strategy:
fail-fast: false
matrix:
include: [
{ system: MacOS-Intel, runner: macos-15-intel },
{ system: MacOS-latest, runner: macos-latest },
{ system: Ubuntu-22, runner: ubuntu-22.04 },
{ system: Ubuntu-latest, runner: ubuntu-latest },
]
name: ${{ matrix.system }} Build and Test
runs-on: ${{ matrix.runner }}
if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
steps:
- uses: actions/checkout@v5
- name: cmake
run: cmake -DCMAKE_BUILD_TYPE=Release -DOJPH_BUILD_TESTS=ON ..
working-directory: build
- name: build
run: make
working-directory: build
- name: test
run: ctest --output-on-failure
working-directory: build
test_windows:
strategy:
fail-fast: false
matrix:
include: [
{ system: Windows, runner: windows-latest },
]
name: ${{ matrix.system }} Build and Test
runs-on: ${{ matrix.runner }}
if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
steps:
- uses: actions/checkout@v5
- name: cmake
run: cmake -A x64 -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON ..
working-directory: build
- name: build
run: cmake --build . --config Release
working-directory: build
- name: test
run: ctest --output-on-failure -C Release
working-directory: build
test_msys2:
strategy:
fail-fast: false
matrix:
include: [
{ system: Windows-MSYS2-UCRT64, runner: windows-latest, msystem: UCRT64 },
{ system: Windows-MinGW32, runner: windows-latest, msystem: MINGW32 },
]
name: ${{ matrix.system }} Build and Test
runs-on: ${{ matrix.runner }}
if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v5
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
update: false
pacboy: cc:p cmake:p python:p
- name: cmake
run: cmake -DCMAKE_BUILD_TYPE=Release -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON -DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe ..
working-directory: build
- name: build
run: cmake --build . --config Release
working-directory: build
- name: test
run: ctest --output-on-failure -C Release
working-directory: build
test_windows_on_arm:
strategy:
fail-fast: false
matrix:
include: [
{ system: WindowsOnARM, runner: windows-11-arm },
]
name: ${{ matrix.system }} Build and Test
runs-on: ${{ matrix.runner }}
if: ${{ github.event_name != 'workflow_dispatch' || !(github.event.inputs.job_to_run != 'test_arm32' || github.event.inputs.job_to_run != 'test_s390x' || github.event.inputs.job_to_run != 'test_ppc64le' )}}
steps:
- uses: actions/checkout@v5
- name: cmake
run: cmake -A ARM64 -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON ..
working-directory: build
- name: build
run: cmake --build . --config Release
working-directory: build
- name: test
run: ctest --output-on-failure -C Release
working-directory: build
test_arm32:
name: Linux-ARM32 Build and Test
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.job_to_run == 'test_arm32' }}
steps:
- uses: actions/checkout@v5
- uses: uraimo/run-on-arch-action@v2
with:
arch: armv7
distro: ubuntu22.04
githubToken: ${{ github.token }}
install: |
apt-get update -q -y
apt-get install -q -y cmake make g++ libtiff-dev python3
run: |
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOJPH_BUILD_STREAM_EXPAND=ON -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON ..
make
ctest --output-on-failure
test_s390x:
name: Linux-s390x (big-endian) Build and Test
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.job_to_run == 'test_s390x' }}
steps:
- uses: actions/checkout@v5
- uses: uraimo/run-on-arch-action@v3
with:
arch: s390x
distro: ubuntu22.04
githubToken: ${{ github.token }}
install: |
apt-get update -q -y
apt-get install -q -y cmake make g++ libtiff-dev python3
run: |
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOJPH_BUILD_STREAM_EXPAND=ON -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON ..
make
ctest --output-on-failure
test_powerpc64le:
name: Linux-ppc64le Build and Test
strategy:
fail-fast: false
matrix:
include: [
{ dist: ubuntu22.04 },
{ dist: ubuntu24.04 },
{ dist: ubuntu_latest },
]
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.job_to_run == 'test_ppc64le' }}
steps:
- uses: actions/checkout@v5
- uses: uraimo/run-on-arch-action@v3
with:
arch: ppc64le
distro: ${{ matrix.dist }}
githubToken: ${{ github.token }}
install: |
apt-get update -q -y
apt-get install -q -y cmake make g++ libtiff-dev python3
run: |
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOJPH_BUILD_STREAM_EXPAND=ON -DOJPH_ENABLE_TIFF_SUPPORT=OFF -DOJPH_BUILD_TESTS=ON ..
make
ctest --output-on-failure