matrix:
config:
- {
- name: "Ubuntu 20.04 GCC",
- os: ubuntu-20.04,
+ name: "Ubuntu 24.04 GCC",
+ os: ubuntu-24.04,
compiler: g++,
comp: gcc,
run_expensive_tests: true
}
- {
- name: "Ubuntu 20.04 Clang",
- os: ubuntu-20.04,
+ name: "Ubuntu 24.04 Clang",
+ os: ubuntu-24.04,
compiler: clang++,
comp: clang,
run_expensive_tests: false
jobs:
test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
strategy:
matrix:
run: npm test
build:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
needs: [test] #Building process must start after successful testing process
strategy:
strategy:
matrix:
arch: ["x86-64-bmi2", "x86-64-modern", "x86-64"]
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
path: src/fairy-stockfish*
if-no-files-found: error
compression-level: 9
+
+ macos:
+ strategy:
+ matrix:
+ arch: ["x86-64"]
+ runs-on: macos-13
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: make
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish_${{ matrix.arch }} && strip fairy-stockfish_${{ matrix.arch }}
+
+ - name: make largeboards
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish-largeboards_${{ matrix.arch }} largeboards=yes && strip fairy-stockfish-largeboards_${{ matrix.arch }}
+
+ - name: make all
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish-all_${{ matrix.arch }} largeboards=yes all=yes && strip fairy-stockfish-all_${{ matrix.arch }}
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: fairy-stockfish-macos-${{ matrix.arch }}
+ path: src/fairy-stockfish*
+ if-no-files-found: error
+ compression-level: 9
+
+ macos-m1:
+ strategy:
+ matrix:
+ arch: ["apple-silicon"]
+ runs-on: macos-14
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: make
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish_${{ matrix.arch }} && strip fairy-stockfish_${{ matrix.arch }}
+
+ - name: make largeboards
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish-largeboards_${{ matrix.arch }} largeboards=yes && strip fairy-stockfish-largeboards_${{ matrix.arch }}
+
+ - name: make all
+ run: cd src && make clean && make -j build COMP=clang ARCH=${{ matrix.arch }} EXE=fairy-stockfish-all_${{ matrix.arch }} largeboards=yes all=yes && strip fairy-stockfish-all_${{ matrix.arch }}
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: fairy-stockfish-macos-m1-${{ matrix.arch }}
+ path: src/fairy-stockfish*
+ if-no-files-found: error
+ compression-level: 9
matrix:
config:
- {
- name: "Ubuntu 22.04 GCC",
- os: ubuntu-22.04,
+ name: "Ubuntu 24.04 GCC",
+ os: ubuntu-24.04,
compiler: g++,
comp: gcc,
run_expensive_tests: true
}
- {
- name: "Ubuntu 20.04 Clang",
- os: ubuntu-20.04,
+ name: "Ubuntu 24.04 Clang",
+ os: ubuntu-24.04,
compiler: clang++,
comp: clang,
run_expensive_tests: false
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-20.04, windows-2019, macos-13]
+ os: [ubuntu-24.04, windows-2019, macos-13]
steps:
- uses: actions/checkout@v4
build_sdist:
name: Build source distribution
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
// Prepare the cuckoo tables
std::memset(cuckoo, 0, sizeof(cuckoo));
std::memset(cuckooMove, 0, sizeof(cuckooMove));
- int count = 0;
+ [[maybe_unused]] int count = 0;
for (Color c : {WHITE, BLACK})
for (PieceSet ps = CHESS_PIECES & ~piece_set(PAWN); ps;)
{
current |= newBitboard;
}
}
-
+
if (connect_nxn())
{
Bitboard connectors = connectPieces;