diff options
| author | Leitwolf11 | 2026-10-11 02:58:27 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-10-11 02:58:27 +0300 |
| commit | ab1214937f57fb81a56e615a0aef8269ade5da91 (patch) | |
| tree | 4afab6721586456f88ea5cb3665ab5d407428ce9 | |
| parent | 5633c5c98ec073ae938253bcfc72430d5d9aee89 (diff) | |
| download | catch3-ab1214937f57fb81a56e615a0aef8269ade5da91.tar.gz | |
Build on the platforms the Visual X# compiler builds on
The compiler that uses this framework first is built and tested on
Windows with the Visual Studio 2026 image, macOS 15 and 26, Ubuntu 26.04
and Fedora 43. This repository was tested on Windows Server 2022 and
2025, macOS 14, 15 and 15 on Intel, and on no Linux at all.
The Windows builds move to the windows-2025-vs2026 image, in the basic
builds and in the Xmake, Bazel and Meson builds. The macOS builds and
the sanitizer builds run on macos-15 and macos-26. A new workflow builds
and tests on Ubuntu 26.04 and, in a container, on Fedora 43, with Clang,
as C++14 and C++17, Debug and Release.
Two jobs stay on windows-2022: the Premake job generates Visual Studio
2022 projects, and the Conan job names the Visual Studio 17 generator
and the v144 runtime. Moving them means moving those tools to Visual
Studio 2026, which is a change of its own.
| -rw-r--r-- | .github/workflows/alternative-build-systems.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/bazel-builds.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/linux-builds.yml | 86 | ||||
| -rw-r--r-- | .github/workflows/mac-builds.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/mac-sanitizer-builds.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/meson-builds.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/windows-simple-builds.yml | 2 |
7 files changed, 92 insertions, 6 deletions
diff --git a/.github/workflows/alternative-build-systems.yml b/.github/workflows/alternative-build-systems.yml index e5e4338f..ebb51d90 100644 --- a/.github/workflows/alternative-build-systems.yml +++ b/.github/workflows/alternative-build-systems.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2025, macos-15] + os: [windows-2025-vs2026, macos-15] steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 diff --git a/.github/workflows/bazel-builds.yml b/.github/workflows/bazel-builds.yml index 5f3b31c7..892145d8 100644 --- a/.github/workflows/bazel-builds.yml +++ b/.github/workflows/bazel-builds.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2025, macos-15] + os: [windows-2025-vs2026, macos-15] steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 diff --git a/.github/workflows/linux-builds.yml b/.github/workflows/linux-builds.yml new file mode 100644 index 00000000..c6d39cd6 --- /dev/null +++ b/.github/workflows/linux-builds.yml @@ -0,0 +1,86 @@ +name: Linux Builds + +# The Linux hosts are those of the Visual X# compiler, which is the first +# user of this framework: the current Ubuntu LTS, and Fedora in a container. +# Both build with Clang, the compiler that project uses everywhere. + +on: [push, pull_request] + +permissions: + contents: read + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + CTEST_NO_TESTS_ACTION: error + +jobs: + ubuntu: + name: Ubuntu 26.04, C++${{matrix.std}}, ${{matrix.build_type}} + runs-on: ubuntu-26.04 + timeout-minutes: 45 + strategy: + fail-fast: false + matrix: + build_type: [Debug, Release] + std: [14, 17] + + steps: + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + with: + persist-credentials: false + + - name: Install Clang, CMake and Ninja + run: | + sudo apt-get update + sudo apt-get install -y clang cmake ninja-build python3 + + - name: Configure + run: | + cmake --preset basic-tests -GNinja \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_CXX_STANDARD=${{matrix.std}} \ + -DCATCH_BUILD_EXAMPLES=ON \ + -DCATCH_BUILD_EXTRA_TESTS=ON + + - name: Build + run: cmake --build build + + - name: Test + run: ctest --test-dir build -j + + fedora: + name: Fedora 43, C++${{matrix.std}}, ${{matrix.build_type}} + runs-on: ubuntu-26.04 + container: fedora:43 + timeout-minutes: 45 + strategy: + fail-fast: false + matrix: + build_type: [Debug, Release] + std: [14, 17] + + steps: + # Git comes first: without it the checkout falls back to an archive of + # the repository, which is not a checkout the tests can ask questions of. + - name: Install Git, Clang, CMake and Ninja + run: dnf install -y git clang gcc-c++ cmake ninja-build python3 + + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + with: + persist-credentials: false + + - name: Configure + run: | + cmake --preset basic-tests -GNinja \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_CXX_STANDARD=${{matrix.std}} \ + -DCATCH_BUILD_EXAMPLES=ON \ + -DCATCH_BUILD_EXTRA_TESTS=ON + + - name: Build + run: cmake --build build + + - name: Test + run: ctest --test-dir build -j diff --git a/.github/workflows/mac-builds.yml b/.github/workflows/mac-builds.yml index 7ba8dac5..1bf131fb 100644 --- a/.github/workflows/mac-builds.yml +++ b/.github/workflows/mac-builds.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - image: [macos-14, macos-15, macos-15-intel] + image: [macos-15, macos-26] build_type: [Debug, Release] std: [14, 17] diff --git a/.github/workflows/mac-sanitizer-builds.yml b/.github/workflows/mac-sanitizer-builds.yml index a0265c5d..9aad456c 100644 --- a/.github/workflows/mac-sanitizer-builds.yml +++ b/.github/workflows/mac-sanitizer-builds.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - image: [macos-15, macos-15-intel] + image: [macos-15, macos-26] build_type: [Debug] std: [17] sanitizer: [thread, address] diff --git a/.github/workflows/meson-builds.yml b/.github/workflows/meson-builds.yml index 456f3205..cf72718d 100644 --- a/.github/workflows/meson-builds.yml +++ b/.github/workflows/meson-builds.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2025, macos-15] + os: [windows-2025-vs2026, macos-15] steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 diff --git a/.github/workflows/windows-simple-builds.yml b/.github/workflows/windows-simple-builds.yml index b6174220..18e15b99 100644 --- a/.github/workflows/windows-simple-builds.yml +++ b/.github/workflows/windows-simple-builds.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2022, windows-2025] + os: [windows-2025-vs2026] platform: [Win32, x64] build_type: [Debug, Release] std: [14, 17] |