]> git.sesse.net Git - stockfish/blob - .github/workflows/stockfish_sanitizers.yml
Fix compilation after recent merge.
[stockfish] / .github / workflows / stockfish_sanitizers.yml
1 name: Stockfish
2 on:
3   workflow_call:
4 jobs:
5   Stockfish:
6     name: ${{ matrix.sanitizers.name }}
7     runs-on: ${{ matrix.config.os }}
8     env:
9       COMPILER: ${{ matrix.config.compiler }}
10       COMP: ${{ matrix.config.comp }}
11       CXXFLAGS: "-Werror"
12     strategy:
13       matrix:
14         config:
15           - name: Ubuntu 22.04 GCC
16             os: ubuntu-22.04
17             compiler: g++
18             comp: gcc
19             shell: bash
20         sanitizers:
21           - name: Run with thread sanitizer
22             make_option: sanitize=thread
23             instrumented_option: sanitizer-thread
24           - name: Run with UB sanitizer
25             make_option: sanitize=undefined
26             instrumented_option: sanitizer-undefined
27           - name: Run under valgrind
28             make_option: ""
29             instrumented_option: valgrind
30           - name: Run under valgrind-thread
31             make_option: ""
32             instrumented_option: valgrind-thread
33     defaults:
34       run:
35         working-directory: src
36         shell: ${{ matrix.config.shell }}
37     steps:
38       - uses: actions/checkout@v4
39
40       - name: Download required linux packages
41         run: |
42           sudo apt update
43           sudo apt install expect valgrind g++-multilib
44
45       - name: Download the used network from the fishtest framework
46         run: make net
47
48       - name: Check compiler
49         run: $COMPILER -v
50
51       - name: Test help target
52         run: make help
53
54       - name: Check git
55         run: git --version
56
57       # Sanitizers
58
59       - name: ${{ matrix.sanitizers.name }}
60         run: |
61           export CXXFLAGS="-O1 -fno-inline"
62           make clean
63           make -j2 ARCH=x86-64-sse41-popcnt ${{ matrix.sanitizers.make_option }} debug=yes optimize=no build > /dev/null
64           ../tests/instrumented.sh --${{ matrix.sanitizers.instrumented_option }}