Enable clang-tidy checks on CSCS CI clang pipelines #5029
Workflow file for this run
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
# Copyright (c) 2022 ETH Zurich | |
# | |
# SPDX-License-Identifier: BSL-1.0 | |
# Distributed under the Boost Software License, Version 1.0. (See accompanying | |
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
name: Linux CI (Tracy) | |
on: | |
merge_group: | |
pull_request: | |
push: | |
branches: | |
# Development and release branches | |
- main | |
- release** | |
jobs: | |
build: | |
name: github/linux/tracy/fast | |
if: ${{ github.event_name == 'merge_group' }} | |
runs-on: ubuntu-24.04 | |
container: pikaorg/pika-ci-base:28 | |
steps: | |
- name: Check out Tracy | |
uses: actions/checkout@v4 | |
with: | |
repository: wolfpld/tracy | |
ref: v0.8.2 | |
path: tracy | |
- name: Update apt repositories for ccache | |
run: apt update | |
- name: Setup ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ccache-linux-tracy | |
- name: Install Tracy | |
shell: bash | |
working-directory: tracy | |
run: | | |
# TRACY_TIMER_FALLBACK is set to ON to silence Tracy complaining with: | |
# Tracy Profiler initialization failure: CPU doesn't support invariant TSC. | |
# Define TRACY_NO_INVARIANT_CHECK=1 to ignore this error, *if you know what you are doing*. | |
# Alternatively you may rebuild the application with the TRACY_TIMER_FALLBACK define to use lower resolution timer. | |
# Since we only want to check that the executables run, we don't care | |
# about having a lower precision timer. | |
cmake \ | |
. \ | |
-Bbuild \ | |
-GNinja \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DTRACY_TIMER_FALLBACK=ON | |
cmake --build build --target install | |
- name: Check out pika | |
uses: actions/checkout@v4 | |
with: | |
path: pika | |
- name: Configure | |
shell: bash | |
working-directory: pika | |
run: | | |
cmake \ | |
. \ | |
-Bbuild \ | |
-GNinja \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DPIKA_WITH_MALLOC=system \ | |
-DPIKA_WITH_TRACY=ON \ | |
-DPIKA_WITH_EXAMPLES=ON \ | |
-DPIKA_WITH_TESTS=ON \ | |
-DPIKA_WITH_TESTS_EXAMPLES=ON \ | |
-DPIKA_WITH_TESTS_MAX_THREADS=$(nproc) \ | |
-DPIKA_WITH_COMPILER_WARNINGS=ON \ | |
-DPIKA_WITH_COMPILER_WARNINGS_AS_ERRORS=ON \ | |
-DPIKA_WITH_CHECK_MODULE_DEPENDENCIES=On | |
- name: Build | |
shell: bash | |
working-directory: pika | |
run: | | |
cmake --build build --target all | |
cmake --build build --target examples | |
- name: Test | |
shell: bash | |
working-directory: pika/build | |
run: | | |
ctest \ | |
--timeout 120 \ | |
--output-on-failure \ | |
--tests-regex tests.examples.quickstart.hello_world | |
ctest \ | |
--timeout 120 \ | |
--output-on-failure \ | |
--tests-regex tests.unit.build |