mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 09:13:08 +00:00

It makes more sense to not (potentially) change the developers alsr entropy setting to make the test run through. This should be an active choice even if the test then might fail locally for them. closes https://github.com/official-stockfish/Stockfish/pull/5182 No functional change
76 lines
2.3 KiB
YAML
76 lines
2.3 KiB
YAML
name: Sanitizers
|
|
on:
|
|
workflow_call:
|
|
jobs:
|
|
Test-under-sanitizers:
|
|
name: ${{ matrix.sanitizers.name }}
|
|
runs-on: ${{ matrix.config.os }}
|
|
env:
|
|
COMPCXX: ${{ matrix.config.compiler }}
|
|
COMP: ${{ matrix.config.comp }}
|
|
CXXFLAGS: "-Werror"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- name: Ubuntu 22.04 GCC
|
|
os: ubuntu-22.04
|
|
compiler: g++
|
|
comp: gcc
|
|
shell: bash
|
|
sanitizers:
|
|
- name: Run with thread sanitizer
|
|
make_option: sanitize=thread
|
|
instrumented_option: sanitizer-thread
|
|
- name: Run with UB sanitizer
|
|
make_option: sanitize=undefined
|
|
instrumented_option: sanitizer-undefined
|
|
- name: Run under valgrind
|
|
make_option: ""
|
|
instrumented_option: valgrind
|
|
- name: Run under valgrind-thread
|
|
make_option: ""
|
|
instrumented_option: valgrind-thread
|
|
- name: Run non-instrumented
|
|
make_option: ""
|
|
instrumented_option: none
|
|
defaults:
|
|
run:
|
|
working-directory: src
|
|
shell: ${{ matrix.config.shell }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Download required linux packages
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install expect valgrind g++-multilib
|
|
|
|
- name: Download the used network from the fishtest framework
|
|
run: make net
|
|
|
|
- name: Check compiler
|
|
run: $COMPCXX -v
|
|
|
|
- name: Test help target
|
|
run: make help
|
|
|
|
- name: Check git
|
|
run: git --version
|
|
|
|
# Since Linux Kernel 6.5 we are getting false positives from the ci,
|
|
# lower the ALSR entropy to disable ALSR, which works as a temporary workaround.
|
|
# https://github.com/google/sanitizers/issues/1716
|
|
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2056762
|
|
|
|
- name: Lower ALSR entropy
|
|
run: sudo sysctl -w vm.mmap_rnd_bits=28
|
|
|
|
# Sanitizers
|
|
|
|
- name: ${{ matrix.sanitizers.name }}
|
|
run: |
|
|
export CXXFLAGS="-O1 -fno-inline"
|
|
make clean
|
|
make -j4 ARCH=x86-64-sse41-popcnt ${{ matrix.sanitizers.make_option }} debug=yes optimize=no build > /dev/null
|
|
../tests/instrumented.sh --${{ matrix.sanitizers.instrumented_option }}
|