In CI, it is typical for the process to halt immediately when an error
is encountered. However, with our `shell: bash {0}` configuration,
the process continues despite errors for posix shells.
This commit updates the behavior of posix and msys2 shells to ensure
consistency in terms of pipeline exit codes and stop conditions.
We adopt the most appropriate default behavior as recommended
by the GitHub documentation.
Update the code that searches for the bench value in the git log:
- to be compatible with the new shell settings
- to retry the value from the first line that contains
only the template and spaces/tabs/newlines
see also
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
https://github.com/msys2/setup-msys2/blob/main/main.js
closes https://github.com/official-stockfish/Stockfish/pull/4653
No functional change
compiler: aarch64-linux-android21-clang++
emu: qemu-aarch64
comp: ndk
compiler: aarch64-linux-android21-clang++
emu: qemu-aarch64
comp: ndk
- name: Android NDK arm
os: ubuntu-22.04
compiler: armv7a-linux-androideabi21-clang++
emu: qemu-arm
comp: ndk
- name: Android NDK arm
os: ubuntu-22.04
compiler: armv7a-linux-androideabi21-clang++
emu: qemu-arm
comp: ndk
binaries:
- armv8
- armv7
binaries:
- armv8
- armv7
simple_name: ubuntu
compiler: g++
comp: gcc
simple_name: ubuntu
compiler: g++
comp: gcc
archive_ext: tar
- name: MacOS 12 Apple Clang
os: macos-12
simple_name: macos
compiler: clang++
comp: clang
archive_ext: tar
- name: MacOS 12 Apple Clang
os: macos-12
simple_name: macos
compiler: clang++
comp: clang
archive_ext: tar
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
archive_ext: tar
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
os: ubuntu-20.04
compiler: g++
comp: gcc
os: ubuntu-20.04
compiler: g++
comp: gcc
- name: Ubuntu 20.04 Clang
os: ubuntu-20.04
compiler: clang++
comp: clang
- name: Ubuntu 20.04 Clang
os: ubuntu-20.04
compiler: clang++
comp: clang
- name: MacOS 12 Apple Clang
os: macos-12
compiler: clang++
comp: clang
- name: MacOS 12 Apple Clang
os: macos-12
compiler: clang++
comp: clang
- name: MacOS 12 GCC 11
os: macos-12
compiler: g++-11
comp: gcc
- name: MacOS 12 GCC 11
os: macos-12
compiler: g++-11
comp: gcc
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
compiler: g++
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
compiler: g++
os: ubuntu-20.04
compiler: g++
comp: gcc
os: ubuntu-20.04
compiler: g++
comp: gcc
sanitizers:
- name: Run with thread sanitizer
make_option: sanitize=thread
sanitizers:
- name: Run with thread sanitizer
make_option: sanitize=thread
comp: gcc
run_32bit_tests: true
run_64bit_tests: true
comp: gcc
run_32bit_tests: true
run_64bit_tests: true
- name: Ubuntu 20.04 Clang
os: ubuntu-20.04
compiler: clang++
comp: clang
run_32bit_tests: true
run_64bit_tests: true
- name: Ubuntu 20.04 Clang
os: ubuntu-20.04
compiler: clang++
comp: clang
run_32bit_tests: true
run_64bit_tests: true
- name: Android NDK aarch64
os: ubuntu-22.04
compiler: aarch64-linux-android21-clang++
comp: ndk
run_armv8_tests: true
- name: Android NDK aarch64
os: ubuntu-22.04
compiler: aarch64-linux-android21-clang++
comp: ndk
run_armv8_tests: true
- name: Android NDK arm
os: ubuntu-22.04
compiler: armv7a-linux-androideabi21-clang++
comp: ndk
run_armv7_tests: true
- name: Android NDK arm
os: ubuntu-22.04
compiler: armv7a-linux-androideabi21-clang++
comp: ndk
run_armv7_tests: true
- name: MacOS 12 Apple Clang
os: macos-12
compiler: clang++
comp: clang
run_64bit_tests: true
- name: MacOS 12 Apple Clang
os: macos-12
compiler: clang++
comp: clang
run_64bit_tests: true
- name: MacOS 12 GCC 11
os: macos-12
compiler: g++-11
comp: gcc
run_64bit_tests: true
- name: MacOS 12 GCC 11
os: macos-12
compiler: g++-11
comp: gcc
run_64bit_tests: true
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
compiler: g++
- name: Windows 2022 Mingw-w64 GCC x86_64
os: windows-2022
compiler: g++
- name: Extract the bench number from the commit history
run: |
- name: Extract the bench number from the commit history
run: |
- git log HEAD | grep -o "\b[Bb]ench[ :]\+[1-9][0-9]\{5,9\}\b" | head -n 1 | sed "s/[^0-9]//g" > git_sig
- [ -s git_sig ] && echo "benchref=$(cat git_sig)" >> $GITHUB_ENV && echo "Reference bench:" $(cat git_sig) || echo "No bench found"
+ benchref=$(git log HEAD | grep -m 1 -o -x "[[:space:]]*\b[Bb]ench[ :]\+[1-9][0-9]\{5,7\}\b[[:space:]]*" | sed "s/[^0-9]//g") || true
+ [[ -n "$benchref" ]] && echo "benchref=$benchref" >> $GITHUB_ENV && echo "Reference bench: $benchref" || echo "No bench found"
- name: Check compiler
run: |
- name: Check compiler
run: |