CI: update Stockfish download URLs #184
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: Build | |
on: [push, pull_request] | |
jobs: | |
linux: | |
name: Build (${{ matrix.os }}, OTP-${{ matrix.otp_version }}) | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
otp_version: [20, 21, 22, 23, 24, 25, 26] | |
os: [ubuntu-latest] | |
container: | |
image: erlang:${{ matrix.otp_version }} | |
env: | |
STOCKFISH_VERSION: 16 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Extract branch name | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: extract_branch | |
- name: Get some info | |
run: | | |
pwd | |
whoami | |
- name: Install system packages | |
run: | | |
apt update | |
apt install socat -y | |
- name: Install Stockfish | |
run: | | |
export STOCKFISH_DIR=${HOME}/stockfish-download-dir | |
export STOCKFISH_ARCHIVE_FILE=stockfish-${STOCKFISH_VERSION}.tar | |
export STOCKFISH_DOWNLOAD_PATH=${STOCKFISH_DIR}/${STOCKFISH_ARCHIVE_FILE} | |
export STOCKFISH_EXEC_PATH=${STOCKFISH_DIR}/stockfish/stockfish-ubuntu-x86-64 | |
mkdir -p ${STOCKFISH_DIR} | |
rm -fr ${STOCKFISH_DIR}/* | |
cd ${STOCKFISH_DIR} | |
curl https://github.com/official-stockfish/Stockfish/releases/download/sf_16/stockfish-ubuntu-x86-64.tar -L -o ${STOCKFISH_DOWNLOAD_PATH} | |
tar -xvf ${STOCKFISH_DOWNLOAD_PATH} | |
chmod +x ${STOCKFISH_EXEC_PATH} | |
socat TCP-LISTEN:9010,reuseaddr,fork EXEC:${STOCKFISH_EXEC_PATH} & | |
- name: Cache Dialyzer PLTs | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/rebar3/rebar3_*_plt | |
_build/default/rebar3_*_plt | |
key: ${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-otp-${{ matrix.otp_version }}-plt-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.config')) }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-otp-${{ matrix.otp_version }}-plt- | |
- name: Cache Hex packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/rebar3/hex/hexpm/packages | |
key: ${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-otp-${{ matrix.otp_version }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-otp-${{ matrix.otp_version }}-hex- | |
- name: Compile | |
run: rebar3 compile | |
- name: CT tests | |
run: | | |
export STOCKFISH_DIR=${HOME}/stockfish-download-dir | |
export STOCKFISH_EXEC_PATH=${STOCKFISH_DIR}/stockfish/stockfish-ubuntu-x86-64 | |
export BINBO_UCI_ENGINE_PATH=${STOCKFISH_EXEC_PATH} | |
export BINBO_UCI_ENGINE_HOST=localhost | |
export BINBO_UCI_ENGINE_PORT=9010 | |
rebar3 ct | |
- name: Dialyzer | |
run: rebar3 dialyzer | |
- name: Code coverage | |
run: rebar3 cover | |
- name: Generate coverage report | |
run: rebar3 covertool generate | |
- name: Upload coverage to Codecov | |
run: bash <(curl -s https://codecov.io/bash) -f _build/test/covertool/binbo.covertool.xml | |
macos: | |
name: Build (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
os: [macos-latest] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Extract branch name | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: extract_branch | |
- name: Install Erlang | |
run: brew install erlang | |
- name: Install rebar3 | |
run: brew install rebar3 | |
- name: Install Stockfish | |
run: brew install stockfish | |
- name: Start Stockfish TCP Server | |
run: launchctl load test/helper-files/org.stockfish.x86.plist | |
- name: Cache Hex packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/rebar3/hex/hexpm/packages | |
key: ${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-hex- | |
- name: Compile | |
run: rebar3 compile | |
- name: CT tests | |
run: | | |
export BINBO_UCI_ENGINE_PATH=/usr/local/bin/stockfish | |
export BINBO_UCI_ENGINE_HOST=localhost | |
export BINBO_UCI_ENGINE_PORT=9010 | |
rebar3 ct | |
- name: Code coverage | |
run: rebar3 cover | |
windows: | |
name: Build (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: powershell | |
strategy: | |
matrix: | |
os: [windows-latest] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Erlang | |
run: choco install erlang -y | |
- name: Install rebar3 | |
run: | | |
mkdir ~/rebar3-dl | |
Invoke-WebRequest -Uri https://github.com/erlang/rebar3/releases/download/3.18.0/rebar3 -OutFile ~/rebar3-dl/rebar3 | |
Copy-Item -Path .\test\helper-files\rebar3.cmd -Destination ~/rebar3-dl/rebar3.cmd | |
- name: Install Stockfish | |
run: | | |
Invoke-WebRequest -Uri https://github.com/official-stockfish/Stockfish/releases/download/sf_16/stockfish-windows-x86-64.zip -OutFile ~/stockfish-windows-x86-64.zip | |
Expand-Archive -LiteralPath '~/stockfish-windows-x86-64.zip' -DestinationPath ~/ | |
- name: Cache Hex packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/rebar3/hex/hexpm/packages | |
key: ${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.extract_branch.outputs.branch }}-hex- | |
- name: Compile | |
run: ~/rebar3-dl/rebar3.cmd compile | |
- name: CT tests | |
run: | | |
$env:BINBO_UCI_ENGINE_PATH = (Resolve-Path '~/stockfish/stockfish-windows-x86-64.exe').Path.replace('\', '/') | |
echo "BINBO_UCI_ENGINE_PATH=$env:BINBO_UCI_ENGINE_PATH" | |
~/rebar3-dl/rebar3.cmd ct | |
- name: Code coverage | |
run: ~/rebar3-dl/rebar3.cmd cover |