Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,26 +42,26 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
Expand All @@ -73,7 +73,7 @@ jobs:
# cd ${{runner.workspace}}/build
# cmake ${GITHUB_WORKSPACE} -GNinja -DCMAKE_CXX_COMPILER=g++-13
# cmake --build .


- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4
27 changes: 17 additions & 10 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [GCC-13, GCC-14, GCC-15, Clang-17, Clang-18, Clang-19, Clang-20, Clang-21]
compiler: [GCC-13, GCC-14, GCC-15, GCC-16, Clang-17, Clang-18, Clang-19, Clang-20, Clang-21, Clang-22, Clang-23]
build_type: [Debug, Release]

include:
Expand All @@ -23,55 +23,62 @@ jobs:
build_module: false
install: |
brew install gcc@13 ninja binutils
brew link --force binutils
- compiler: GCC-14
cxx: g++-14
build_module: false
install: |
brew install gcc@14 ninja binutils
brew link --force binutils
- compiler: GCC-15
cxx: g++-15
build_module: true
install: |
brew install gcc@15 ninja binutils
brew link --force binutils
- compiler: GCC-16
cxx: g++-16
build_module: true
install: |
brew install gcc@16 ninja binutils
- compiler: Clang-17
cxx: $(brew --prefix llvm@17)/bin/clang++
build_module: false
install: |
brew install llvm@17 ninja binutils
brew link --force binutils
- compiler: Clang-18
cxx: $(brew --prefix llvm@18)/bin/clang++
build_module: true
install: |
brew install llvm@18 ninja binutils
brew link --force binutils
- compiler: Clang-19
cxx: $(brew --prefix llvm@19)/bin/clang++
build_module: true
install: |
brew install llvm@19 ninja binutils
brew link --force binutils
- compiler: Clang-20
cxx: $(brew --prefix llvm@20)/bin/clang++
build_module: true
install: |
brew install llvm@20 ninja binutils
brew link --force binutils
- compiler: Clang-21
cxx: $(brew --prefix llvm@21)/bin/clang++
build_module: true
install: |
brew install llvm@21 ninja binutils
brew link --force binutils
- compiler: Clang-22
cxx: $(brew --prefix llvm@22)/bin/clang++
build_module: true
install: |
brew install llvm@22 ninja binutils
- compiler: Clang-23
cxx: $(brew --prefix llvm@23)/bin/clang++
build_module: true
install: |
brew install llvm@23 ninja binutils

steps:
- uses: actions/checkout@master

- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@1f8e202ffddf94def7f42f6fa3a482e821489f9c

- name: Create Build Environment
run: |
Expand Down
41 changes: 29 additions & 12 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,46 +14,63 @@ env:

jobs:
build:
runs-on: macos-15
runs-on: macos-26
strategy:
matrix:
compiler: [AppleClang, LLVM-Clang-17, LLVM-Clang-18, LLVM-Clang-19, LLVM-Clang-20, LLVM-Clang-21]
compiler: [AppleClang, GCC-13, GCC-14, GCC-15, LLVM-Clang-17, LLVM-Clang-18, LLVM-Clang-19, LLVM-Clang-20, LLVM-Clang-21, LLVM-Clang-22, LLVM-Clang-23]
build_type: [Debug, Release]

include:
- compiler: AppleClang
cxx: clang++
install: |
brew install ninja
build_module: false
- compiler: GCC-13
cxx: g++-13
build_module: false
- compiler: GCC-14
cxx: g++-14
build_module: false
- compiler: GCC-15
cxx: g++-15
build_module: true
- compiler: LLVM-Clang-17
cxx: $(brew --prefix llvm@17)/bin/clang++
build_module: false
install: |
brew install llvm@17 ninja
brew install --skip-link llvm@17
- compiler: LLVM-Clang-18
cxx: $(brew --prefix llvm@18)/bin/clang++
build_module: true
install: |
brew install llvm@18 ninja
brew install --skip-link llvm@18
- compiler: LLVM-Clang-19
cxx: $(brew --prefix llvm@19)/bin/clang++
build_module: true
install: |
brew install llvm@19 ninja
brew install --skip-link llvm@19
- compiler: LLVM-Clang-20
cxx: $(brew --prefix llvm@20)/bin/clang++
build_module: true
install: |
brew update
brew install llvm@20 ninja
brew install --skip-link llvm@20
- compiler: LLVM-Clang-21
cxx: $(brew --prefix llvm@21)/bin/clang++
ldflags: -L$(brew --prefix llvm@21)/lib/c++
build_module: true
install: |
brew update
brew install llvm@21 ninja

brew install --skip-link llvm@21
- compiler: LLVM-Clang-22
cxx: $(brew --prefix llvm@22)/bin/clang++
ldflags: -L$(brew --prefix llvm@22)/lib/c++
build_module: true
install: |
brew install --skip-link llvm@22
- compiler: LLVM-Clang-23
cxx: $(brew --prefix llvm@23)/bin/clang++
ldflags: -L$(brew --prefix llvm@23)/lib/c++
build_module: true
install: |
brew install --skip-link llvm@23

steps:
- uses: actions/checkout@master
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/msvc_code_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ on:
env:
# Path to the CMake build directory.
build: '${{ github.workspace }}/build'
config: 'Debug'

permissions:
contents: read
Expand All @@ -39,24 +40,25 @@ jobs:
# Disable building examples to avoid uploading multiple SARIF files
# https://github.blog/changelog/2025-07-21-code-scanning-will-stop-combining-multiple-sarif-runs-uploaded-in-the-same-sarif-file/
- name: Configure CMake
run: cmake -B ${{ env.build }} -DTCB_POINTER_BUILD_EXAMPLES=Off
run: cmake -B ${{ env.build }} -DCMAKE_BUILD_TYPE=${{ env.config }} -DTCB_POINTER_BUILD_EXAMPLES=Off

# Build is not required unless generated source files are used
# - name: Build CMake
# run: cmake --build ${{ env.build }}

- name: Initialize MSVC Code Analysis
uses: microsoft/msvc-code-analysis-action@04825f6d9e00f87422d6bf04e1a38b1f3ed60d99
uses: microsoft/msvc-code-analysis-action@v0.1.1
# Provide a unique ID to access the sarif output path
id: run-analysis
with:
cmakeBuildDirectory: ${{ env.build }}
buildConfiguration: ${{ env.config }}
# Ruleset file that will determine what checks will be run
ruleset: NativeRecommendedRules.ruleset

# Upload SARIF file to GitHub Code Scanning Alerts
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v3
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: ${{ steps.run-analysis.outputs.sarif }}

Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/santizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,15 @@ jobs:
sanitizer: [address, undefined]
build_type: [Debug, Release]
include:
- cxx: g++-15
- cxx: g++-16
install: |
brew install gcc@15 ninja binutils
brew link --force binutils
brew install gcc@16 ninja binutils

steps:
- uses: actions/checkout@master

- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@1f8e202ffddf94def7f42f6fa3a482e821489f9c

- name: Create Build Environment
run: |
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@ env:

jobs:
build:
runs-on: windows-2022
runs-on: windows-2025
strategy:
matrix:
platform: [x86, x64]
build_type: [Debug, Release]

steps:
- uses: actions/checkout@master
- uses: seanmiddleditch/gha-setup-ninja@master
- uses: TheMrMilchmann/setup-msvc-dev@v3
- uses: TheMrMilchmann/setup-msvc-dev@v4
with:
arch: ${{matrix.platform}}

Expand Down
Loading