name: Stockfish on: workflow_call: jobs: Stockfish: name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} env: COMPILER: ${{ matrix.config.compiler }} COMP: ${{ matrix.config.comp }} strategy: matrix: config: - name: Ubuntu 20.04 GCC os: ubuntu-20.04 compiler: g++ comp: gcc shell: bash - name: Ubuntu 20.04 Clang os: ubuntu-20.04 compiler: clang++ comp: clang shell: bash - name: MacOS 13 Apple Clang os: macos-13 compiler: clang++ comp: clang shell: bash - name: MacOS 13 GCC 11 os: macos-13 compiler: g++-11 comp: gcc shell: bash - 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} - name: Windows 2022 Mingw-w64 Clang x86_64 os: windows-2022 compiler: clang++ comp: clang msys_sys: clang64 msys_env: clang-x86_64-clang shell: msys2 {0} defaults: run: working-directory: src shell: ${{ matrix.config.shell }} steps: - uses: actions/checkout@v4 - 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 - name: Download the used network from the fishtest framework run: make net - name: Check compiler run: $COMPILER -v - name: Test help target run: make help - name: Check git run: git --version # x86-64 with newer extensions tests - name: Compile x86-64-avx2 build run: | make clean make -j2 ARCH=x86-64-avx2 build - name: Compile x86-64-bmi2 build run: | make clean make -j2 ARCH=x86-64-bmi2 build - name: Compile x86-64-avx512 build run: | make clean make -j2 ARCH=x86-64-avx512 build - name: Compile x86-64-vnni512 build run: | make clean make -j2 ARCH=x86-64-vnni512 build - name: Compile x86-64-vnni256 build run: | make clean make -j2 ARCH=x86-64-vnni256 build