feat: single move extension (#353) #765
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Smallbrain | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
Binaries: | |
if: github.ref == 'refs/heads/main' | |
uses: ./.github/workflows/smallbrain_binaries.yml | |
Smallbrain: | |
# The type of runner that the job will run on | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Ubuntu 20.04 GCC", | |
os: ubuntu-20.04, | |
compiler: g++, | |
comp: gcc, | |
shell: 'bash {0}' | |
} | |
- { | |
name: "Windows 2022 GCC", | |
os: windows-2022, | |
compiler: g++, | |
comp: mingw, | |
msys_sys: 'mingw64', | |
msys_env: 'x86_64-gcc', | |
shell: 'msys2 {0}' | |
} | |
defaults: | |
run: | |
working-directory: src | |
shell: ${{ matrix.config.shell }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Download required linux packages | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get install g++ | |
sudo apt update | |
sudo apt install expect valgrind g++-multilib qemu-user | |
- name: Install windows make | |
if: runner.os == 'Windows' | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{matrix.config.msys_sys}} | |
install: mingw-w64-${{matrix.config.msys_env}} make git expect | |
- name: make | |
if: runner.os == 'Linux' | |
run: make build=debug | |
- name: make build windows | |
if: runner.os == 'Windows' | |
run: make build=release | |
- name: Perft | |
run: | | |
./smallbrain* perft | |
- name: Bench | |
run: | | |
./smallbrain* bench | |
- name: Tests | |
run: | | |
./smallbrain* -tests | |
- name: Valgrind | |
if: runner.os == 'Linux' | |
run: | | |
valgrind --error-exitcode=1 --errors-for-leak-kinds=all --leak-check=full ./smallbrain-debug* bench | |
- name: Valgrind | |
if: runner.os == 'Linux' | |
run: | | |
valgrind --error-exitcode=1 --errors-for-leak-kinds=all --leak-check=full ./smallbrain-debug* -tests |