aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/catch2/.github
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/catch2/.github')
-rw-r--r--contrib/catch2/.github/FUNDING.yml2
-rw-r--r--contrib/catch2/.github/ISSUE_TEMPLATE/bug_report.md29
-rw-r--r--contrib/catch2/.github/ISSUE_TEMPLATE/feature_request.md14
-rw-r--r--contrib/catch2/.github/pull_request_template.md28
-rw-r--r--contrib/catch2/.github/workflows/linux-bazel-builds.yml24
-rw-r--r--contrib/catch2/.github/workflows/linux-meson-builds.yml44
-rw-r--r--contrib/catch2/.github/workflows/linux-other-builds.yml154
-rw-r--r--contrib/catch2/.github/workflows/linux-simple-builds.yml123
-rw-r--r--contrib/catch2/.github/workflows/mac-builds-m1.yml44
-rw-r--r--contrib/catch2/.github/workflows/mac-builds.yml48
-rw-r--r--contrib/catch2/.github/workflows/package-manager-builds.yaml31
-rw-r--r--contrib/catch2/.github/workflows/validate-header-guards.yml36
-rw-r--r--contrib/catch2/.github/workflows/windows-simple-builds.yml37
13 files changed, 614 insertions, 0 deletions
diff --git a/contrib/catch2/.github/FUNDING.yml b/contrib/catch2/.github/FUNDING.yml
new file mode 100644
index 0000000..9122aa8
--- /dev/null
+++ b/contrib/catch2/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+github: "horenmar"
+custom: "https://www.paypal.me/horenmar"
diff --git a/contrib/catch2/.github/ISSUE_TEMPLATE/bug_report.md b/contrib/catch2/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..dbeff11
--- /dev/null
+++ b/contrib/catch2/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,29 @@
+---
+name: Bug report
+about: Create an issue that documents a bug
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Reproduction steps**
+Steps to reproduce the bug.
+<!-- Usually this means a small and self-contained piece of code that uses Catch and specifying compiler flags if relevant. -->
+
+
+**Platform information:**
+<!-- Fill in any extra information that might be important for your issue. -->
+ - OS: **Windows NT**
+ - Compiler+version: **GCC v2.9.5**
+ - Catch version: **v1.2.3**
+
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/contrib/catch2/.github/ISSUE_TEMPLATE/feature_request.md b/contrib/catch2/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..be9b9ee
--- /dev/null
+++ b/contrib/catch2/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,14 @@
+---
+name: Feature request
+about: Create an issue that requests a feature or other improvement
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Description**
+Describe the feature/change you request and why do you want it.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/contrib/catch2/.github/pull_request_template.md b/contrib/catch2/.github/pull_request_template.md
new file mode 100644
index 0000000..ea2b7bb
--- /dev/null
+++ b/contrib/catch2/.github/pull_request_template.md
@@ -0,0 +1,28 @@
+<!--
+Please do not submit pull requests changing the `version.hpp`
+or the single-include `catch.hpp` file, these are changed
+only when a new release is made.
+
+Before submitting a PR you should probably read the contributor documentation
+at docs/contributing.md. It will tell you how to properly test your changes.
+-->
+
+
+## Description
+<!--
+Describe the what and the why of your pull request. Remember that these two
+are usually a bit different. As an example, if you have made various changes
+to decrease the number of new strings allocated, that's what. The why probably
+was that you have a large set of tests and found that this speeds them up.
+-->
+
+## GitHub Issues
+<!--
+If this PR was motivated by some existing issues, reference them here.
+
+If it is a simple bug-fix, please also add a line like 'Closes #123'
+to your commit message, so that it is automatically closed.
+If it is not, don't, as it might take several iterations for a feature
+to be done properly. If in doubt, leave it open and reference it in the
+PR itself, so that maintainers can decide.
+-->
diff --git a/contrib/catch2/.github/workflows/linux-bazel-builds.yml b/contrib/catch2/.github/workflows/linux-bazel-builds.yml
new file mode 100644
index 0000000..dc826ac
--- /dev/null
+++ b/contrib/catch2/.github/workflows/linux-bazel-builds.yml
@@ -0,0 +1,24 @@
+name: Bazel build
+
+on: [push, pull_request]
+
+jobs:
+ build_and_test_ubuntu:
+ name: Linux Ubuntu 22.04 Bazel build <GCC 11.2.0>
+ runs-on: ubuntu-22.04
+ strategy:
+ matrix:
+ compilation_mode: [fastbuild, dbg, opt]
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Mount bazel cache
+ uses: actions/cache@v3
+ with:
+ path: "/home/runner/.cache/bazel"
+ key: bazel-ubuntu22-gcc11
+
+ - name: Build Catch2
+ run: |
+ bazelisk build --compilation_mode=${{matrix.compilation_mode}} //...
diff --git a/contrib/catch2/.github/workflows/linux-meson-builds.yml b/contrib/catch2/.github/workflows/linux-meson-builds.yml
new file mode 100644
index 0000000..4a6cfd5
--- /dev/null
+++ b/contrib/catch2/.github/workflows/linux-meson-builds.yml
@@ -0,0 +1,44 @@
+name: Linux builds (meson)
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: meson ${{matrix.cxx}}, C++${{matrix.std}}, ${{matrix.build_type}}
+ runs-on: ubuntu-22.04
+ strategy:
+ matrix:
+ cxx:
+ - g++-11
+ - clang++-11
+ build_type: [debug, release]
+ std: [14, 17]
+ include:
+ - cxx: clang++-11
+ other_pkgs: clang-11
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Prepare environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y meson ninja-build ${{matrix.other_pkgs}}
+
+ - name: Configure build
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: -std=c++${{matrix.std}} ${{matrix.cxxflags}}
+ # Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
+ # This is important
+ run: |
+ meson -Dbuildtype=${{matrix.build_type}} ${{runner.workspace}}/meson-build
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/meson-build
+ run: ninja
+
+ - name: Run tests
+ working-directory: ${{runner.workspace}}/meson-build
+ run: |
+ meson test --verbose
diff --git a/contrib/catch2/.github/workflows/linux-other-builds.yml b/contrib/catch2/.github/workflows/linux-other-builds.yml
new file mode 100644
index 0000000..6993c81
--- /dev/null
+++ b/contrib/catch2/.github/workflows/linux-other-builds.yml
@@ -0,0 +1,154 @@
+# The builds in this file are more complex (e.g. they need custom CMake
+# configuration) and thus are unsuitable to the simple build matrix
+# approach used in simple-builds
+name: Linux builds (complex)
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: ${{matrix.build_description}}, ${{matrix.cxx}}, C++${{matrix.std}} ${{matrix.build_type}}
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ # We add builds one by one in this case, because there are no
+ # dimensions that are shared across the builds
+ include:
+
+ # Single surrogate header build
+ - cxx: clang++-10
+ build_description: Surrogates build
+ build_type: Debug
+ std: 14
+ other_pkgs: clang-10
+ cmake_configurations: -DCATCH_BUILD_SURROGATES=ON
+
+ # Extras and examples with gcc-7
+ - cxx: g++-7
+ build_description: Extras + Examples
+ build_type: Debug
+ std: 14
+ other_pkgs: g++-7
+ cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON -DCATCH_ENABLE_CMAKE_HELPER_TESTS=ON
+ - cxx: g++-7
+ build_description: Extras + Examples
+ build_type: Release
+ std: 14
+ other_pkgs: g++-7
+ cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON -DCATCH_ENABLE_CMAKE_HELPER_TESTS=ON
+
+ # Extras and examples with Clang-10
+ - cxx: clang++-10
+ build_description: Extras + Examples
+ build_type: Debug
+ std: 17
+ other_pkgs: clang-10
+ cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON -DCATCH_ENABLE_CMAKE_HELPER_TESTS=ON
+ - cxx: clang++-10
+ build_description: Extras + Examples
+ build_type: Release
+ std: 17
+ other_pkgs: clang-10
+ cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON -DCATCH_ENABLE_CMAKE_HELPER_TESTS=ON
+
+ # Configure tests with Clang-10
+ - cxx: clang++-10
+ build_description: CMake configuration tests
+ build_type: Debug
+ std: 14
+ other_pkgs: clang-10
+ cmake_configurations: -DCATCH_ENABLE_CONFIGURE_TESTS=ON
+
+ # Valgrind test Clang-10
+ - cxx: clang++-10
+ build_description: Valgrind tests
+ build_type: Debug
+ std: 14
+ other_pkgs: clang-10 valgrind
+ cmake_configurations: -DMEMORYCHECK_COMMAND=`which valgrind` -DMEMORYCHECK_COMMAND_OPTIONS="-q --track-origins=yes --leak-check=full --num-callers=50 --show-leak-kinds=definite --error-exitcode=1"
+ other_ctest_args: -T memcheck -LE uses-python
+
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Prepare environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y ninja-build ${{matrix.other_pkgs}}
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: ${{matrix.cxxflags}}
+ # Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
+ # This is important
+ run: |
+ cmake -Bbuild -H$GITHUB_WORKSPACE \
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
+ -DCMAKE_CXX_STANDARD_REQUIRED=ON \
+ -DCMAKE_CXX_EXTENSIONS=OFF \
+ -DCATCH_DEVELOPMENT_BUILD=ON \
+ ${{matrix.cmake_configurations}} \
+ -G Ninja
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/build
+ run: ninja
+
+ - name: Run tests
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+ working-directory: ${{runner.workspace}}/build
+ run: ctest -C ${{matrix.build_type}} -j `nproc` ${{matrix.other_ctest_args}}
+ clang-tidy:
+ name: clang-tidy ${{matrix.version}}, ${{matrix.build_description}}, C++${{matrix.std}} ${{matrix.build_type}}
+ runs-on: ubuntu-22.04
+ strategy:
+ matrix:
+ include:
+ - version: "15"
+ build_description: all
+ build_type: Debug
+ std: 17
+ other_pkgs: ''
+ cmake_configurations: -DCATCH_BUILD_EXAMPLES=ON -DCATCH_ENABLE_CMAKE_HELPER_TESTS=ON
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Prepare environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y ninja-build clang-${{matrix.version}} clang-tidy-${{matrix.version}} ${{matrix.other_pkgs}}
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ env:
+ CXX: clang++-${{matrix.version}}
+ CXXFLAGS: ${{matrix.cxxflags}}
+ # Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
+ # This is important
+ run: |
+ clangtidy="clang-tidy-${{matrix.version}};-use-color"
+ # Use a dummy compiler/linker/ar/ranlib to effectively disable the
+ # compilation and only run clang-tidy.
+ cmake -Bbuild -H$GITHUB_WORKSPACE \
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
+ -DCMAKE_CXX_STANDARD_REQUIRED=ON \
+ -DCMAKE_CXX_EXTENSIONS=OFF \
+ -DCATCH_DEVELOPMENT_BUILD=ON \
+ -DCMAKE_CXX_CLANG_TIDY="$clangtidy" \
+ -DCMAKE_CXX_COMPILER_LAUNCHER=/usr/bin/true \
+ -DCMAKE_AR=/usr/bin/true \
+ -DCMAKE_CXX_COMPILER_AR=/usr/bin/true \
+ -DCMAKE_RANLIB=/usr/bin/true \
+ -DCMAKE_CXX_LINK_EXECUTABLE=/usr/bin/true \
+ ${{matrix.cmake_configurations}} \
+ -G Ninja
+
+ - name: Run clang-tidy
+ working-directory: ${{runner.workspace}}/build
+ run: ninja
diff --git a/contrib/catch2/.github/workflows/linux-simple-builds.yml b/contrib/catch2/.github/workflows/linux-simple-builds.yml
new file mode 100644
index 0000000..4cca316
--- /dev/null
+++ b/contrib/catch2/.github/workflows/linux-simple-builds.yml
@@ -0,0 +1,123 @@
+name: Linux builds (basic)
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: ${{matrix.cxx}}, C++${{matrix.std}}, ${{matrix.build_type}}
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ cxx:
+ - g++-5
+ - g++-6
+ - g++-7
+ - g++-8
+ - g++-9
+ - g++-10
+ - clang++-6.0
+ - clang++-7
+ - clang++-8
+ - clang++-9
+ - clang++-10
+ build_type: [Debug, Release]
+ std: [14]
+ include:
+ - cxx: g++-5
+ other_pkgs: g++-5
+ - cxx: g++-6
+ other_pkgs: g++-6
+ - cxx: g++-7
+ other_pkgs: g++-7
+ - cxx: g++-8
+ other_pkgs: g++-8
+ - cxx: g++-9
+ other_pkgs: g++-9
+ - cxx: g++-10
+ other_pkgs: g++-10
+ - cxx: clang++-6.0
+ other_pkgs: clang-6.0
+ - cxx: clang++-7
+ other_pkgs: clang-7
+ - cxx: clang++-8
+ other_pkgs: clang-8
+ - cxx: clang++-9
+ other_pkgs: clang-9
+ - cxx: clang++-10
+ other_pkgs: clang-10
+ # Clang 6 + C++17
+ # does not work with the default libstdc++ version thanks
+ # to a disagreement on variant implementation.
+ # - cxx: clang++-6.0
+ # build_type: Debug
+ # std: 17
+ # other_pkgs: clang-6.0
+ # - cxx: clang++-6.0
+ # build_type: Release
+ # std: 17
+ # other_pkgs: clang-6.0
+ # Clang 10 + C++17
+ - cxx: clang++-10
+ build_type: Debug
+ std: 17
+ other_pkgs: clang-10
+ - cxx: clang++-10
+ build_type: Release
+ std: 17
+ other_pkgs: clang-10
+ - cxx: clang++-10
+ build_type: Debug
+ std: 20
+ other_pkgs: clang-10
+ - cxx: clang++-10
+ build_type: Release
+ std: 20
+ other_pkgs: clang-10
+ - cxx: g++-10
+ build_type: Debug
+ std: 20
+ other_pkgs: g++-10
+ - cxx: g++-10
+ build_type: Release
+ std: 20
+ other_pkgs: g++-10
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Add repositories for older GCC
+ run: |
+ sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic main'
+ sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic universe'
+ if: ${{ matrix.cxx == 'g++-5' || matrix.cxx == 'g++-6' }}
+
+ - name: Prepare environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y ninja-build ${{matrix.other_pkgs}}
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: ${{matrix.cxxflags}}
+ # Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
+ # This is important
+ run: |
+ cmake -Bbuild -H$GITHUB_WORKSPACE \
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
+ -DCMAKE_CXX_STANDARD_REQUIRED=ON \
+ -DCMAKE_CXX_EXTENSIONS=OFF \
+ -DCATCH_DEVELOPMENT_BUILD=ON \
+ -G Ninja
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/build
+ run: ninja
+
+ - name: Run tests
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+ working-directory: ${{runner.workspace}}/build
+ run: ctest -C ${{matrix.build_type}} -j `nproc`
diff --git a/contrib/catch2/.github/workflows/mac-builds-m1.yml b/contrib/catch2/.github/workflows/mac-builds-m1.yml
new file mode 100644
index 0000000..45629cd
--- /dev/null
+++ b/contrib/catch2/.github/workflows/mac-builds-m1.yml
@@ -0,0 +1,44 @@
+name: Arm Mac builds
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: macos-14
+ strategy:
+ matrix:
+ cxx:
+ - clang++
+ build_type: [Debug, Release]
+ std: [14, 17]
+ include:
+ - build_type: Debug
+ examples: ON
+ extra_tests: ON
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: ${{matrix.cxxflags}}
+ run: |
+ cmake -Bbuild -H$GITHUB_WORKSPACE \
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
+ -DCMAKE_CXX_STANDARD_REQUIRED=ON \
+ -DCATCH_DEVELOPMENT_BUILD=ON \
+ -DCATCH_BUILD_EXAMPLES=${{matrix.examples}} \
+ -DCATCH_BUILD_EXTRA_TESTS=${{matrix.examples}}
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/build
+ run: make -j `sysctl -n hw.ncpu`
+
+ - name: Run tests
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+ working-directory: ${{runner.workspace}}/build
+ run: ctest -C ${{matrix.build_type}} -j `sysctl -n hw.ncpu`
diff --git a/contrib/catch2/.github/workflows/mac-builds.yml b/contrib/catch2/.github/workflows/mac-builds.yml
new file mode 100644
index 0000000..fb41f5d
--- /dev/null
+++ b/contrib/catch2/.github/workflows/mac-builds.yml
@@ -0,0 +1,48 @@
+name: Intel Mac builds
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ # From macos-14 forward, the baseline "macos-X" image is Arm based,
+ # and not Intel based. Thus this is the newest image we can use for
+ # Intel MacOS CI, and there don't seem to be any plans to keep providing
+ # the Intel based images for free to OSS projects.
+ runs-on: macos-13
+ strategy:
+ matrix:
+ cxx:
+ - clang++
+ build_type: [Debug, Release]
+ std: [14, 17]
+ include:
+ - build_type: Debug
+ examples: ON
+ extra_tests: ON
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ env:
+ CXX: ${{matrix.cxx}}
+ CXXFLAGS: ${{matrix.cxxflags}}
+ run: |
+ cmake -Bbuild -H$GITHUB_WORKSPACE \
+ -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
+ -DCMAKE_CXX_STANDARD_REQUIRED=ON \
+ -DCATCH_DEVELOPMENT_BUILD=ON \
+ -DCATCH_BUILD_EXAMPLES=${{matrix.examples}} \
+ -DCATCH_BUILD_EXTRA_TESTS=${{matrix.examples}}
+
+ - name: Build tests + lib
+ working-directory: ${{runner.workspace}}/build
+ run: make -j `sysctl -n hw.ncpu`
+
+ - name: Run tests
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+ working-directory: ${{runner.workspace}}/build
+ run: ctest -C ${{matrix.build_type}} -j `sysctl -n hw.ncpu`
diff --git a/contrib/catch2/.github/workflows/package-manager-builds.yaml b/contrib/catch2/.github/workflows/package-manager-builds.yaml
new file mode 100644
index 0000000..6d90d14
--- /dev/null
+++ b/contrib/catch2/.github/workflows/package-manager-builds.yaml
@@ -0,0 +1,31 @@
+name: Package Manager Builds
+
+on: [push, pull_request]
+
+jobs:
+ conan_builds:
+ name: Conan ${{matrix.conan_version}}
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ conan_version:
+ - '1.63'
+ - '2.1'
+
+ include:
+ # Conan 1 has default profiles installed
+ - conan_version: '1.63'
+ profile_generate: 'false'
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install conan
+ run: pip install conan==${{matrix.conan_version}}
+
+ - name: Setup conan profiles
+ if: matrix.profile_generate != 'false'
+ run: conan profile detect
+
+ - name: Run conan package create
+ run: conan create . -tf .conan/test_package
diff --git a/contrib/catch2/.github/workflows/validate-header-guards.yml b/contrib/catch2/.github/workflows/validate-header-guards.yml
new file mode 100644
index 0000000..fa9d157
--- /dev/null
+++ b/contrib/catch2/.github/workflows/validate-header-guards.yml
@@ -0,0 +1,36 @@
+name: Check header guards
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ # Set the type of machine to run on
+ runs-on: ubuntu-20.04
+ steps:
+
+ - name: Checkout source code
+ uses: actions/checkout@v4
+
+ - name: Setup Dependencies
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install checkguard
+ run: pip install guardonce
+
+ - name: Check that include guards are properly named
+ run: |
+ wrong_files=$(checkguard -r src/catch2/ -p "name | append _INCLUDED | upper")
+ if [[ $wrong_files ]]; then
+ echo "Files with wrong header guard:"
+ echo $wrong_files
+ exit 1
+ fi
+
+ - name: Check that there are no duplicated filenames
+ run: |
+ ./tools/scripts/checkDuplicateFilenames.py
+
+ - name: Check that all source files have the correct license header
+ run: |
+ ./tools/scripts/checkLicense.py
diff --git a/contrib/catch2/.github/workflows/windows-simple-builds.yml b/contrib/catch2/.github/workflows/windows-simple-builds.yml
new file mode 100644
index 0000000..5fb7b8f
--- /dev/null
+++ b/contrib/catch2/.github/workflows/windows-simple-builds.yml
@@ -0,0 +1,37 @@
+name: Windows builds (basic)
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: ${{matrix.os}}, ${{matrix.std}}, ${{matrix.build_type}}, ${{matrix.platform}}
+ runs-on: ${{matrix.os}}
+ strategy:
+ matrix:
+ os: [windows-2019, windows-2022]
+ platform: [Win32, x64]
+ build_type: [Debug, Release]
+ std: [14, 17]
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Configure build
+ working-directory: ${{runner.workspace}}
+ run: |
+ cmake -S $Env:GITHUB_WORKSPACE `
+ -B ${{runner.workspace}}/build `
+ -DCMAKE_CXX_STANDARD=${{matrix.std}} `
+ -A ${{matrix.platform}} `
+ --preset all-tests
+
+ - name: Build tests
+ working-directory: ${{runner.workspace}}
+ run: cmake --build build --config ${{matrix.build_type}} --parallel %NUMBER_OF_PROCESSORS%
+ shell: cmd
+
+ - name: Run tests
+ working-directory: ${{runner.workspace}}/build
+ env:
+ CTEST_OUTPUT_ON_FAILURE: 1
+ run: ctest -C ${{matrix.build_type}} -j %NUMBER_OF_PROCESSORS%
+ shell: cmd