- - name: Test x86-32 build
- if: ${{ matrix.config.run_32bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-32 build
- ../tests/signature.sh $benchref
-
- - name: Test x86-32-sse41-popcnt build
- if: ${{ matrix.config.run_32bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-32-sse41-popcnt build
- ../tests/signature.sh $benchref
-
- - name: Test x86-32-sse2 build
- if: ${{ matrix.config.run_32bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-32-sse2 build
- ../tests/signature.sh $benchref
-
- - name: Test general-32 build
- if: ${{ matrix.config.run_32bit_tests }}
- run: |
- make clean
- make -j2 ARCH=general-32 build
- ../tests/signature.sh $benchref
-
- # x86-64 tests
-
- - name: Test debug x86-64-modern build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- export CXXFLAGS="-Werror -D_GLIBCXX_DEBUG"
- make clean
- make -j2 ARCH=x86-64-modern optimize=no debug=yes build
- ../tests/signature.sh $benchref
-
- - name: Test x86-64-modern build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-modern build
- ../tests/signature.sh $benchref
-
- - name: Test x86-64-ssse3 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-ssse3 build
- ../tests/signature.sh $benchref
-
- - name: Test x86-64-sse3-popcnt build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-sse3-popcnt build
- ../tests/signature.sh $benchref
-
- - name: Test x86-64 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64 build
- ../tests/signature.sh $benchref
-
- - name: Test general-64 build
- if: matrix.config.run_64bit_tests
- run: |
- make clean
- make -j2 ARCH=general-64 build
- ../tests/signature.sh $benchref
-
- # x86-64 with newer extensions tests
-
- - name: Compile x86-64-avx2 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-avx2 build
-
- - name: Compile x86-64-bmi2 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-bmi2 build
-
- - name: Compile x86-64-avx512 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-avx512 build
-
- - name: Compile x86-64-vnni512 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-vnni512 build
-
- - name: Compile x86-64-vnni256 build
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-vnni256 build
-
- # Other tests
-
- - name: Check perft and search reproducibility
- if: ${{ matrix.config.run_64bit_tests }}
- run: |
- make clean
- make -j2 ARCH=x86-64-modern build
- ../tests/perft.sh
- ../tests/reprosearch.sh
-
- # Sanitizers
-
- - name: Run under valgrind
- if: ${{ matrix.config.run_expensive_tests }}
- run: |
- export CXXFLAGS="-O1 -fno-inline"
- make clean
- make -j2 ARCH=x86-64-modern debug=yes optimize=no build > /dev/null
- ../tests/instrumented.sh --valgrind
- ../tests/instrumented.sh --valgrind-thread
-
- - name: Run with UB sanitizer
- if: ${{ matrix.config.run_expensive_tests }}
- run: |
- export CXXFLAGS="-O1 -fno-inline"
- make clean
- make -j2 ARCH=x86-64-modern sanitize=undefined optimize=no debug=yes build > /dev/null
- ../tests/instrumented.sh --sanitizer-undefined
-
- - name: Run with thread sanitizer
- if: ${{ matrix.config.run_expensive_tests }}
- run: |
- export CXXFLAGS="-O1 -fno-inline"
- make clean
- make -j2 ARCH=x86-64-modern sanitize=thread optimize=no debug=yes build > /dev/null
- ../tests/instrumented.sh --sanitizer-thread
+ # delete old previous pre-release and tag
+ - uses: dev-drprasad/delete-tag-and-release@8cd619d00037e4aeb781909c9a6b03940507d0da # @v1.0.1
+ if: env.COMMIT_SHA != 'null'
+ with:
+ tag_name: ${{ env.COMMIT_SHA }}
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+
+ Analyzers:
+ uses: ./.github/workflows/stockfish_analyzers.yml
+ Sanitizers:
+ uses: ./.github/workflows/stockfish_sanitizers.yml
+ Tests:
+ uses: ./.github/workflows/stockfish_test.yml
+ Compiles:
+ uses: ./.github/workflows/stockfish_compile_test.yml
+ Binaries:
+ if: github.ref == 'refs/heads/master' || (startsWith(github.ref_name, 'sf_') && github.ref_type == 'tag')
+ uses: ./.github/workflows/stockfish_binaries.yml
+ ARM_Binaries:
+ if: github.ref == 'refs/heads/master' || (startsWith(github.ref_name, 'sf_') && github.ref_type == 'tag')
+ uses: ./.github/workflows/stockfish_arm_binaries.yml