stash #3773
This file contains 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
name: Shirakami-CI | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
Build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-22.04, ubuntu-24.04] | |
test-group: [tl_cc, tl_others] # tl: test label | |
runs-on: [self-hosted, docker] | |
permissions: | |
checks: write | |
timeout-minutes: 30 | |
container: | |
image: ghcr.io/project-tsurugi/tsurugi-ci:${{ matrix.os }} | |
volumes: | |
- ${{ vars.ccache_dir }}:${{ vars.ccache_dir }} | |
defaults: | |
run: | |
shell: bash | |
env: | |
CCACHE_CONFIGPATH: ${{ vars.ccache_dir }}/ccache.conf | |
CCACHE_DIR: ${{ vars.ccache_dir }}/${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install_Dependencies | |
uses: ./.github/actions/install-dependencies | |
- name: CMake_Build | |
run: | | |
mkdir -p build | |
cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/.local -DBUILD_PWAL=ON .. | |
cmake --build . --target all --clean-first | |
- name: CTest_CC | |
if: matrix.test-group == 'tl_cc' | |
env: | |
GTEST_OUTPUT: xml | |
ASAN_OPTIONS: detect_stack_use_after_return=true | |
run: | | |
cd build | |
ctest --verbose --timeout 200 -j 20 -L CC | |
- name: CTest_LOGGING | |
if: matrix.test-group == 'tl_others' | |
env: | |
GTEST_OUTPUT: xml | |
ASAN_OPTIONS: detect_stack_use_after_return=true | |
run: | | |
cd build | |
ctest --verbose --timeout 200 -j 20 -L LOGGING | |
- name: CTest_WAITING_BYPASS | |
if: matrix.test-group == 'tl_others' | |
env: | |
GTEST_OUTPUT: xml | |
ASAN_OPTIONS: detect_stack_use_after_return=true | |
run: | | |
cd build | |
SHIRAKAMI_ENABLE_WAITING_BYPASS=0 ctest --verbose --timeout 200 -j 20 -L WAITING_BYPASS | |
SHIRAKAMI_ENABLE_WAITING_BYPASS=1 ctest --verbose --timeout 200 -j 20 -L WAITING_BYPASS | |
- name: Verify | |
uses: project-tsurugi/tsurugi-annotations-action@v1 | |
if: always() | |
with: | |
matrix: ${{ toJson(matrix) }} | |
Analysis: | |
runs-on: [self-hosted, docker] | |
permissions: | |
checks: write | |
timeout-minutes: 30 | |
container: | |
image: ghcr.io/project-tsurugi/tsurugi-ci:ubuntu-22.04 | |
volumes: | |
- ${{ vars.ccache_dir }}:${{ vars.ccache_dir }} | |
defaults: | |
run: | |
shell: bash | |
env: | |
CCACHE_CONFIGPATH: ${{ vars.ccache_dir }}/ccache.conf | |
CCACHE_DIR: ${{ vars.ccache_dir }}/ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install_Dependencies | |
uses: ./.github/actions/install-dependencies | |
- name: CMake_Generate | |
run: | | |
mkdir -p build | |
cd build | |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/.local -DBUILD_PWAL=ON .. | |
- name: Clang-Tidy | |
run: | | |
python tools/bin/run-clang-tidy.py -quiet -export-fixes=build/clang-tidy-fix.yaml -p build -extra-arg=-Wno-unknown-warning-option -extra-arg=-fsized-deallocation -header-filter=$(pwd)'/(include|src|bench)/.*\.(h|hh)$' $(pwd)'/(src|bench)/.*' 2>&1 | awk '!a[$0]++{print > "build/clang-tidy.log"}' | |
- name: Doxygen | |
run: | | |
cd build | |
ninja doxygen 2> >(tee doxygen-error.log) | |
- name: Verify | |
uses: project-tsurugi/tsurugi-annotations-action@v1 | |
if: always() |