Skip to content

Continuous Integration Tests #749

Continuous Integration Tests

Continuous Integration Tests #749

Workflow file for this run

# 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 * * *'
- cron: "0 0 * * 0"
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"},
]
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.TSan",
"Release.MaxSan", "Debug.Werror", "Debug.Dynamic",
"Debug.Coverage"
]
}
]
},
{ "cxxversions": ["c++23", "c++20"],
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
}
]
},
{ "versions": ["14", "13"],
"tests": [
{ "cxxversions": ["c++26", "c++23", "c++20"],
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
}
]
}
],
"clang": [
{ "versions": ["20"],
"tests": [
{"cxxversions": ["c++26"],
"tests": [
{ "stdlibs": ["libstdc++"],
"tests": [
"Debug.Default", "Release.Default", "Release.TSan",
"Release.MaxSan", "Debug.Werror", "Debug.Dynamic"
]
}
]
},
{ "cxxversions": ["c++23", "c++20"],
"tests": [
{"stdlibs": ["libstdc++"], "tests": ["Release.Default"]}
]
}
]
},
{ "versions": ["19"],
"tests": [
{ "cxxversions": ["c++26", "c++23", "c++20"],
"tests": [
{"stdlibs": ["libstdc++"], "tests": ["Release.Default"]}
]
}
]
}
]
}
create-issue-when-fault:
needs: [preset-test, build-and-test]
if: failure() && github.event.schedule == '30 15 * * *'
uses: ./.github/workflows/reusable-beman-create-issue-when-fault.yml
auto-update-pre-commit:
if: github.event.schedule == '00 16 * * 0'
uses: ./.github/workflows/reusable-beman-update-pre-commit.yml