Continuous Integration Tests #135
This file contains hidden or 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
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| name: Continuous Integration Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '30 15 * * *' | |
| jobs: | |
| beman-submodule-check: | |
| uses: ./.github/workflows/reusable-beman-submodule-check.yml | |
| preset-test: | |
| uses: ./.github/workflows/reusable-beman-preset-test.yml | |
| with: | |
| matrix_config: > | |
| [ | |
| {"preset": "gcc-debug", "image": "ghcr.io/bemanproject/infra-containers-gcc:latest"}, | |
| {"preset": "gcc-release", "image": "ghcr.io/bemanproject/infra-containers-gcc:latest"}, | |
| {"preset": "llvm-debug", "image": "ghcr.io/bemanproject/infra-containers-clang:latest"}, | |
| {"preset": "llvm-release", "image": "ghcr.io/bemanproject/infra-containers-clang:latest"}, | |
| {"preset": "msvc-debug", "runner": "windows-latest"}, | |
| {"preset": "msvc-release", "runner": "windows-latest"} | |
| ] | |
| build-and-test: | |
| uses: ./.github/workflows/reusable-beman-build-and-test.yml | |
| with: | |
| matrix_config: > | |
| { | |
| "gcc": [ | |
| { "versions": ["15"], | |
| "tests": [ | |
| { "cxxversions": ["c++26"], | |
| "tests": [ | |
| { "stdlibs": ["libstdc++"], | |
| "tests": [ | |
| "Debug.Default", "Release.Default", "Release.MaxSan", | |
| "Debug.Dynamic", "Debug.Coverage" | |
| ] | |
| } | |
| ] | |
| }, | |
| { "cxxversions": ["c++23"], | |
| "tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}] | |
| } | |
| ] | |
| }, | |
| { "versions": ["14", "13"], | |
| "tests": [ | |
| { "cxxversions": ["c++26", "c++23"], | |
| "tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}] | |
| } | |
| ] | |
| } | |
| ], | |
| "clang": [ | |
| { "versions": ["20"], | |
| "tests": [ | |
| {"cxxversions": ["c++26"], | |
| "tests": [ | |
| { "stdlibs": ["libstdc++", "libc++"], | |
| "tests": [ | |
| "Debug.Default", "Release.Default", "Release.MaxSan", | |
| "Debug.Dynamic" | |
| ] | |
| } | |
| ] | |
| }, | |
| { "cxxversions": ["c++23"], | |
| "tests": [ | |
| {"stdlibs": ["libstdc++", "libc++"], "tests": ["Release.Default"]} | |
| ] | |
| } | |
| ] | |
| }, | |
| { "versions": ["19"], | |
| "tests": [ | |
| { "cxxversions": ["c++26", "c++23"], | |
| "tests": [ | |
| {"stdlibs": ["libstdc++", "libc++"], "tests": ["Release.Default"]} | |
| ] | |
| } | |
| ] | |
| }, | |
| { "versions": ["18", "17"], | |
| "tests": [ | |
| { "cxxversions": ["c++26", "c++23"], | |
| "tests": [{"stdlibs": ["libc++"], "tests": ["Release.Default"]}] | |
| } | |
| ] | |
| } | |
| ], | |
| "msvc": [ | |
| { "versions": ["latest"], | |
| "tests": [ | |
| { "cxxversions": ["c++23"], | |
| "tests": [ | |
| { "stdlibs": ["stl"], | |
| "tests": ["Debug.Default", "Release.Default"] | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| create-issue-when-fault: | |
| needs: [preset-test, build-and-test] | |
| if: failure() && github.event_name == 'schedule' | |
| uses: ./.github/workflows/reusable-beman-create-issue-when-fault.yml |