Skip to content

feat: single move extension (#353) #765

feat: single move extension (#353)

feat: single move extension (#353) #765

Workflow file for this run

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