mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00

The sed command is a bit different in Mac OS X (why not!). The ‘-i’ option required a parameter to tell what extension to add for the backup file. To fix it, just add extension for backup file, for example ‘.bak’ Fix broken Trevis CI test No functional change.
77 lines
2.6 KiB
YAML
77 lines
2.6 KiB
YAML
language: cpp
|
|
sudo: required
|
|
dist: xenial
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-8', 'g++-8-multilib', 'g++-multilib', 'valgrind', 'expect', 'curl']
|
|
env:
|
|
- COMPILER=g++-8
|
|
- COMP=gcc
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-xenial-6.0']
|
|
packages: ['clang-6.0', 'llvm-6.0-dev', 'g++-multilib', 'valgrind', 'expect', 'curl']
|
|
env:
|
|
- COMPILER=clang++-6.0
|
|
- COMP=clang
|
|
- LDFLAGS=-fuse-ld=lld
|
|
|
|
- os: osx
|
|
compiler: gcc
|
|
env:
|
|
- COMPILER=g++
|
|
- COMP=gcc
|
|
|
|
- os: osx
|
|
compiler: clang
|
|
env:
|
|
- COMPILER=clang++ V='Apple LLVM 9.4.1' # Apple LLVM version 9.1.0 (clang-902.0.39.2)
|
|
- COMP=clang
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
before_script:
|
|
- cd src
|
|
|
|
script:
|
|
# Obtain bench reference from git log
|
|
- git log HEAD | grep "\b[Bb]ench[ :]\+[0-9]\{7\}" | head -n 1 | sed "s/[^0-9]*\([0-9]*\).*/\1/g" > git_sig
|
|
- export benchref=$(cat git_sig)
|
|
- echo "Reference bench:" $benchref
|
|
#
|
|
# Verify bench number against various builds
|
|
- export CXXFLAGS=-Werror
|
|
- make clean && make -j2 ARCH=x86-64 optimize=no debug=yes build && ../tests/signature.sh $benchref
|
|
- make clean && make -j2 ARCH=x86-32 optimize=no debug=yes build && ../tests/signature.sh $benchref
|
|
- make clean && make -j2 ARCH=x86-32 build && ../tests/signature.sh $benchref
|
|
|
|
# Verify bench number is ONE_PLY independent by doubling its value
|
|
- sed -i'.bak' 's/.*\(ONE_PLY = [0-9]*\),.*/\1 * 2,/g' types.h
|
|
- make clean && make -j2 ARCH=x86-64 build && ../tests/signature.sh $benchref
|
|
#
|
|
# Check perft and reproducible search
|
|
- ../tests/perft.sh
|
|
- ../tests/reprosearch.sh
|
|
#
|
|
# Valgrind
|
|
#
|
|
- export CXXFLAGS="-O1 -fno-inline"
|
|
- if [ -x "$(command -v valgrind )" ]; then make clean && make -j2 ARCH=x86-64 debug=yes optimize=no build > /dev/null && ../tests/instrumented.sh --valgrind; fi
|
|
- if [ -x "$(command -v valgrind )" ]; then ../tests/instrumented.sh --valgrind-thread; fi
|
|
#
|
|
# Sanitizer
|
|
#
|
|
# Use g++-8 as a proxy for having sanitizers, might need revision as they become available for more recent versions of clang/gcc
|
|
- if [[ "$COMPILER" == "g++-8" ]]; then make clean && make -j2 ARCH=x86-64 sanitize=undefined optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-undefined; fi
|
|
- if [[ "$COMPILER" == "g++-8" ]]; then make clean && make -j2 ARCH=x86-64 sanitize=thread optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-thread; fi
|