forked from cwida/FastLanes
-
Notifications
You must be signed in to change notification settings - Fork 0
66 lines (57 loc) · 3.28 KB
/
Copy pathfsst.yaml
File metadata and controls
66 lines (57 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# ────────────────────────────────────────────────────────
# | FastLanes |
# ────────────────────────────────────────────────────────
# .github/workflows/fsst.yaml
# ────────────────────────────────────────────────────────
name: FSST
run-name: >-
${{ github.workflow }} on ${{ github.ref_name }} (#${{ github.run_number }})
— ${{ github.event.pull_request.title || github.event.head_commit.message }}
# ──────────────────────────────────────────────────────────────────────────────
# Events
# ──────────────────────────────────────────────────────────────────────────────
on:
push:
pull_request:
branches: [ "main", "dev" ]
# Cancel in-flight runs on the same branch/PR so we do not waste minutes
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# Global env (tweak once, use everywhere)
env:
CMAKE_GENERATOR: Ninja # much faster than Makefiles
jobs:
# ──────────────────────────────────────────────────────────────────────────────
# 2️⃣ Main build + clang-tidy (Linux + macOS)
# ──────────────────────────────────────────────────────────────────────────────
build:
strategy:
fail-fast: false
matrix:
platform: [ ubuntu-latest, macos-latest ]
build_type: [ Release ]
cxx: [ clang++ ]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Detect CPU count
shell: bash
run: make detect-cpu | tee -a "$GITHUB_ENV"
- name: Install LLVM
uses: ./.github/actions/install-llvm
# ----------------------------------------------------------------------
# Configure (runs clang-tidy via CMake)
# ----------------------------------------------------------------------
- name: Configure (with clang-tidy checks)
shell: bash
run: |
cmake -S "${{ github.workspace }}" \
-B build_${{ matrix.build_type }} \
-DFLS_ENABLE_VERBOSE_OUTPUT=ON \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_C_COMPILER=clang \
-DFLS_ENABLE_FSST_TESTING_AND_BENCHMARKING=ON \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }}
- name: Build (clang-tidy runs automatically)
run: cmake --build build_${{ matrix.build_type }} -j $BUILD_THREADS