mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-24 19:16:49 +08:00
Change versioning and save binaries as CI artifacts
For development versions of Stockfish, the version will now look like dev-20221107-dca9a0533 indicating a development version, the date of the last commit, and the git SHA of that commit. If git is not available, the fallback is the date of compilation. Releases will continue to be versioned as before. Additionally, this PR extends the CI to create binary artifacts, i.e. pushes to master will automatically build Stockfish and upload the binaries to github. closes https://github.com/official-stockfish/Stockfish/pull/4220 No functional change
This commit is contained in:
committed by
Joost VandeVondele
parent
ad2aa8c06f
commit
e048d11825
5
.github/workflows/stockfish.yml
vendored
5
.github/workflows/stockfish.yml
vendored
@@ -10,6 +10,9 @@ on:
|
||||
- master
|
||||
- tools
|
||||
jobs:
|
||||
Binaries:
|
||||
if: github.ref == 'refs/heads/master'
|
||||
uses: ./.github/workflows/stockfish_binaries.yml
|
||||
Stockfish:
|
||||
name: ${{ matrix.config.name }}
|
||||
runs-on: ${{ matrix.config.os }}
|
||||
@@ -113,7 +116,7 @@ jobs:
|
||||
working-directory: src
|
||||
shell: ${{ matrix.config.shell }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
110
.github/workflows/stockfish_binaries.yml
vendored
Normal file
110
.github/workflows/stockfish_binaries.yml
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
name: Stockfish
|
||||
on:
|
||||
workflow_call:
|
||||
jobs:
|
||||
Stockfish:
|
||||
name: ${{ matrix.config.name }} ${{ matrix.binaries }}
|
||||
runs-on: ${{ matrix.config.os }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.config.compiler }}
|
||||
COMP: ${{ matrix.config.comp }}
|
||||
EXT: ${{ matrix.config.ext }}
|
||||
OS: ${{ matrix.config.os }}
|
||||
BINARY: ${{ matrix.binaries }}
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "Ubuntu 20.04 GCC",
|
||||
os: ubuntu-20.04,
|
||||
compiler: g++,
|
||||
comp: gcc,
|
||||
shell: 'bash {0}'
|
||||
}
|
||||
- {
|
||||
name: "MacOS 12 Apple Clang",
|
||||
os: macos-12,
|
||||
compiler: clang++,
|
||||
comp: clang,
|
||||
shell: 'bash {0}'
|
||||
}
|
||||
- {
|
||||
name: "Windows 2022 Mingw-w64 GCC x86_64",
|
||||
os: windows-2022,
|
||||
compiler: g++,
|
||||
comp: mingw,
|
||||
msys_sys: 'mingw64',
|
||||
msys_env: 'x86_64-gcc',
|
||||
shell: 'msys2 {0}',
|
||||
ext: .exe
|
||||
}
|
||||
binaries:
|
||||
- x86-64
|
||||
- x86-64-modern
|
||||
- x86-64-avx2
|
||||
exclude:
|
||||
- binaries: x86-64-avx2
|
||||
config: {os: macos-12}
|
||||
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 update
|
||||
|
||||
- name: Setup msys and install required packages
|
||||
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: Download the used network from the fishtest framework
|
||||
run: |
|
||||
make net
|
||||
|
||||
- name: Check compiler
|
||||
run: |
|
||||
export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
|
||||
$COMPILER -v
|
||||
|
||||
- name: Test help target
|
||||
run: |
|
||||
make help
|
||||
|
||||
# Compile profile guided builds
|
||||
|
||||
- name: Compile ${{ matrix.binaries }} build
|
||||
run: |
|
||||
make clean
|
||||
make -j2 profile-build ARCH=$BINARY COMP=$COMP
|
||||
strip ./stockfish$EXT
|
||||
mv ./stockfish$EXT ../stockfish-$OS-$BINARY$EXT
|
||||
|
||||
- name: Remove non src files
|
||||
run: rm -f *.o .depend *.nnue
|
||||
|
||||
- name: Create tar archive.
|
||||
run: |
|
||||
cd ..
|
||||
mkdir stockfish
|
||||
cp -r src stockfish/
|
||||
cp stockfish-$OS-$BINARY$EXT stockfish/
|
||||
cp "Top CPU Contributors.txt" stockfish/
|
||||
cp Copying.txt stockfish/
|
||||
cp AUTHORS stockfish/
|
||||
tar -cvf stockfish-$OS-$BINARY.tar stockfish
|
||||
|
||||
- name: Upload binaries
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: stockfish-${{ matrix.config.os }}-${{ matrix.binaries }}
|
||||
path: |
|
||||
stockfish-${{ matrix.config.os }}-${{ matrix.binaries }}.tar
|
||||
Reference in New Issue
Block a user