Skip to content
Draft
Changes from 1 commit
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
Prev Previous commit
Next Next commit
startswith
  • Loading branch information
firewave committed Apr 16, 2026
commit b6746aa12bd28e773a50dd8cfbe8eaa0bb1ecd7d
22 changes: 11 additions & 11 deletions .github/workflows/CI-unixish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ jobs:
# the man-db trigger causes package installations to stall for several minutes at times. so just drop the package.
# see https://github.com/actions/runner/issues/4030
- name: Remove man-db package on ubuntu
if: matrix.os == 'ubuntu-24.04'
if: startsWith(matrix.os, 'ubuntu-24.04')
run: |
sudo apt-get update
sudo apt-get remove man-db

- name: Install missing software on ubuntu
if: matrix.os == 'ubuntu-24.04'
if: startsWith(matrix.os, 'ubuntu-24.04')
run: |
sudo apt-get update
sudo apt-get install valgrind
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
(cd cmake.output && ./testrunner)

- name: Run valgrind
if: matrix.os == 'ubuntu-24.04'
if: startsWith(matrix.os, 'ubuntu-24.04')
run: |
make clean
make -j$(nproc) CXXOPTS="-O1"
Expand All @@ -118,27 +118,27 @@ jobs:
VALGRIND_TOOL=memcheck ./selfcheck.sh

- name: Run with libstdc++ debug mode
if: matrix.os == 'ubuntu-24.04' && matrix.compiler == 'g++'
if: startsWith(matrix.os, 'ubuntu-24.04') && matrix.compiler == 'g++'
run: |
make clean
make -j$(nproc) test selfcheck CXXOPTS="-Werror -g3 -D_GLIBCXX_DEBUG"

- name: Run with libc++ hardening mode
if: matrix.os == 'ubuntu-24.04' && matrix.compiler == 'clang++'
if: startsWith(matrix.os, 'ubuntu-24.04') && matrix.compiler == 'clang++'
run: |
make clean
make -j$(nproc) test selfcheck CXXOPTS="-Werror -stdlib=libc++ -g3 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG" LDOPTS="-lc++"

- name: Run AddressSanitizer
if: matrix.os == 'ubuntu-24.04' || matrix.os == 'macos-26'
if: startsWith(matrix.os, 'ubuntu-24.04') || startsWith(matrix.os, 'macos-26')
run: |
make clean
make -j$(nproc) test selfcheck CXXOPTS="-Werror -O2 -g3 -fsanitize=address" LDOPTS="-fsanitize=address"
env:
ASAN_OPTIONS: detect_stack_use_after_return=1

- name: Run UndefinedBehaviorSanitizer
if: matrix.os == 'ubuntu-24.04' || matrix.os == 'macos-26'
if: startsWith(matrix.os, 'ubuntu-24.04') || startsWith(matrix.os, 'macos-26')
run: |
make clean
make -j$(nproc) test selfcheck CXXOPTS="-Werror -O2 -g3 -fsanitize=undefined -fno-sanitize=signed-integer-overflow" LDOPTS="-fsanitize=undefined -fno-sanitize=signed-integer-overflow"
Expand All @@ -147,13 +147,13 @@ jobs:

# TODO: requires instrumented libc++
- name: Run MemorySanitizer
if: false && matrix.os == 'ubuntu-24.04' && matrix.compiler == 'clang++'
if: false && startsWith(matrix.os, 'ubuntu-24.04') && matrix.compiler == 'clang++'
run: |
make clean
make -j$(nproc) test selfcheck CXXOPTS="-Werror -O2 -g3 -stdlib=libc++ -fsanitize=memory" LDOPTS="-lc++ -fsanitize=memory"

- name: Run callgrind
if: matrix.os == 'ubuntu-24.04'
if: startsWith(matrix.os, 'ubuntu-24.04')
run: |
wget https://github.com/danmar/simplecpp/archive/refs/tags/1.5.1.tar.gz
tar xvf 1.5.1.tar.gz
Expand Down Expand Up @@ -213,8 +213,8 @@ jobs:
rm -rf simplecpp-1.5.1

- uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-24.04'
if: startsWith(matrix.os, 'ubuntu-24.04')
with:
name: Callgrind Output - ${{ matrix.compiler }}
name: Callgrind Output - ${{ matrix.os }} - ${{ matrix.compiler }}
path: |
./callgrind.*