Skip to content
Open
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
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2

updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
22 changes: 11 additions & 11 deletions .github/workflows/armv7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:

jobs:
build-armv7:
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
name: GCC armv7 (NEON, cross-compiled)

steps:
Expand All @@ -28,34 +28,34 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y \
gcc-13-arm-linux-gnueabihf \
g++-13-arm-linux-gnueabihf \
libstdc++-13-dev-armhf-cross \
gcc-15-arm-linux-gnueabihf \
g++-15-arm-linux-gnueabihf \
libstdc++-15-dev-armhf-cross \
libc6-armhf-cross \
qemu-user-static
qemu-user

- name: Verify compiler and NEON target macro
run: |
arm-linux-gnueabihf-g++-13 --version
qemu-arm-static --version
arm-linux-gnueabihf-g++-13 -std=c++23 -march=armv7-a -mfpu=neon -mfloat-abi=hard -dM -E -x c++ /dev/null | grep "__ARM_NEON"
arm-linux-gnueabihf-g++-15 --version
qemu-arm --version
arm-linux-gnueabihf-g++-15 -std=c++23 -march=armv7-a -mfpu=neon -mfloat-abi=hard -dM -E -x c++ /dev/null | grep "__ARM_NEON"

- name: Create CMake toolchain file
run: |
cat > toolchain-armv7.cmake << 'EOF'
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR armv7)

set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc-13)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++-13)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc-15)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++-15)

set(CMAKE_FIND_ROOT_PATH /usr/arm-linux-gnueabihf)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

# Use QEMU to run selected target binaries in smoke tests.
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-arm-static;-L;/usr/arm-linux-gnueabihf)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-arm;-L;/usr/arm-linux-gnueabihf)

# We're cross-compiling; avoid running target executables during configure.
set(CMAKE_CROSSCOMPILING TRUE)
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ on:

jobs:
skip_ws_benchmark:
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04

env:
CC: gcc-14
CXX: g++-14
CC: gcc-15
CXX: g++-15

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -45,11 +45,11 @@ jobs:
fi

string_write_benchmark:
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04

env:
CC: gcc-14
CXX: g++-14
CC: gcc-15
CXX: g++-15

steps:
- uses: actions/checkout@v6
Expand Down
22 changes: 12 additions & 10 deletions .github/workflows/big-endian.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:

jobs:
build-s390x:
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
name: GCC s390x (big-endian, cross-compiled)

steps:
Expand All @@ -28,29 +28,31 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y \
g++-13-s390x-linux-gnu \
qemu-user-static \
libstdc++-13-dev-s390x-cross
g++-15-s390x-linux-gnu \
qemu-user \
libstdc++-15-dev-s390x-cross

- name: Verify cross-compiler
run: |
s390x-linux-gnu-g++-13 --version
qemu-s390x-static --version
s390x-linux-gnu-g++-15 --version
qemu-s390x --version

- name: Create CMake toolchain file
run: |
cat > toolchain-s390x.cmake << 'EOF'
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR s390x)

set(CMAKE_C_COMPILER s390x-linux-gnu-gcc-13)
set(CMAKE_CXX_COMPILER s390x-linux-gnu-g++-13)
set(CMAKE_C_COMPILER s390x-linux-gnu-gcc-15)
set(CMAKE_CXX_COMPILER s390x-linux-gnu-g++-15)

set(CMAKE_FIND_ROOT_PATH /usr/s390x-linux-gnu)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_CROSSCOMPILING_EMULATOR qemu-s390x;-L;/usr/s390x-linux-gnu)

# Tell CMake we're cross-compiling, so it won't try to run test executables
set(CMAKE_CROSSCOMPILING TRUE)
EOF
Expand All @@ -70,8 +72,8 @@ jobs:
}
}
EOF
s390x-linux-gnu-g++-13 -std=c++20 /tmp/check_endian.cpp -o /tmp/check_endian
qemu-s390x-static -L /usr/s390x-linux-gnu /tmp/check_endian
s390x-linux-gnu-g++-15 -std=c++20 /tmp/check_endian.cpp -o /tmp/check_endian
qemu-s390x -L /usr/s390x-linux-gnu /tmp/check_endian

- name: Configure CMake
run: |
Expand Down
17 changes: 7 additions & 10 deletions .github/workflows/boost-asio.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
compiler:
- { name: clang, version: 18 }
- { name: clang, version: 20 }
- { name: gcc, version: 14 }
- { name: clang, version: 21 }
- { name: clang, version: 22 }
- { name: gcc, version: 15 }
boost_version: [1.88.0, 1.86.0]

env:
Expand All @@ -35,14 +35,11 @@ jobs:
steps:
- uses: actions/checkout@v6

- name: Install clang
if: matrix.compiler.name == 'clang'
- name: Install Clang dependencies
if: ${{ matrix.compiler.name == 'clang' }}
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ matrix.compiler.version }} main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y --fix-missing clang-${{ matrix.compiler.version }} libc++-${{ matrix.compiler.version }}-dev libc++abi-${{ matrix.compiler.version }}-dev
echo "PATH=/usr/lib/llvm-${{ matrix.compiler.version }}/bin:$PATH" >> $GITHUB_ENV
sudo apt-get install -y libc++-dev libc++abi-dev

- name: Install Boost
id: install-boost
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04

steps:
- uses: actions/checkout@v6
Expand All @@ -20,7 +20,7 @@ jobs:
source: '.'
exclude: ''
extensions: 'h,hpp,cpp'
clangFormatVersion: 20
clangFormatVersion: 22
style: file
inplace: True
- uses: EndBug/add-and-commit@v9
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/clang-linux-erlang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ on:

jobs:
build:
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04

strategy:
fail-fast: false
matrix:
clang: [17, 18]
clang: [21, 22]
build_type: [Debug]
std: [23]

Expand Down
72 changes: 0 additions & 72 deletions .github/workflows/clang-linux-latest.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/clang-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04

strategy:
fail-fast: false
matrix:
clang: [17, 18]
clang: [21, 22]
build_type: [Debug]
std: [23]

Expand Down
13 changes: 4 additions & 9 deletions .github/workflows/clang-tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
clang-tidy-include-cleaner:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04

steps:
- name: Checkout code
Expand All @@ -17,21 +17,16 @@ jobs:
fetch-depth: 0 # Fetch all history for git diff
token: ${{ secrets.GITHUB_TOKEN }} # Use GITHUB_TOKEN for pushing changes

- name: Install Clang-Tidy
run: |
sudo apt-get update
sudo apt-get install -y clang-tools-19

- name: Run Clang-Tidy Include Cleaner
run: |
echo "Running clang-tidy on .hpp files"
git diff --diff-filter=d --name-only origin/main | grep -E "\.hpp$" | xargs -r -t -n 1 -P 8 -- /usr/bin/clang-tidy-19 --fix --checks="-*,misc-include-cleaner" || true
git diff --diff-filter=d --name-only origin/main | grep -E "\.hpp$" | xargs -r -t -n 1 -P 8 -- /usr/bin/clang-tidy-22 --fix --checks="-*,misc-include-cleaner" || true

echo "Running clang-tidy on .cpp files"
git diff --diff-filter=d --name-only origin/main | grep -E "\.cpp$" | xargs -r -t -n 1 -P 8 -- /usr/bin/clang-tidy-19 --fix --checks="-*,misc-include-cleaner" || true
git diff --diff-filter=d --name-only origin/main | grep -E "\.cpp$" | xargs -r -t -n 1 -P 8 -- /usr/bin/clang-tidy-22 --fix --checks="-*,misc-include-cleaner" || true

- name: Commit changes
uses: EndBug/add-and-commit@v9
uses: EndBug/add-and-commit@v10
with:
author_name: Clang Tidy Bot
author_email: actions@github.com
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: clang
name: clang (MacOS)

on:
push:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/code_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,24 @@ env:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04

steps:
- uses: actions/checkout@v6

- name: Set up environment
run: |
echo "CXX=clang++-16" >> "$GITHUB_ENV"
echo "CC=clang-16" >> "$GITHUB_ENV"
echo "CXX=clang++-22" >> "$GITHUB_ENV"
echo "CC=clang-22" >> "$GITHUB_ENV"
echo "CXXFLAGS="-fprofile-instr-generate -fcoverage-mapping"" >> "$GITHUB_ENV"
echo "LDFLAGS="-fprofile-instr-generate"" >> "$GITHUB_ENV"
echo "LLVM_PROFILE_FILE="code-%p.profraw"" >> "$GITHUB_ENV"

- name: Have llvm-cov point to llvm-cov-16
- name: Have llvm-cov point to llvm-cov-22
run: |
mkdir -p /home/runner/.local/bin
ln -s `which llvm-cov-16` /home/runner/.local/bin/llvm-cov
ln -s `which llvm-profdata-16` /home/runner/.local/bin/llvm-profdata
ln -s `which llvm-cov-22` /home/runner/.local/bin/llvm-cov
ln -s `which llvm-profdata-22` /home/runner/.local/bin/llvm-profdata

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
Expand All @@ -37,7 +37,7 @@ jobs:
run: cmake --build build --config ${{env.BUILD_TYPE}} --target ccov-all -j 2

- name: Archive code coverage results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v7
with:
name: code-coverage-report
path: ${{github.workspace}}/build/ccov/all-merged
Loading
Loading