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 {0}' } - { name: "Ubuntu 20.04 Clang", os: ubuntu-20.04, compiler: clang++, comp: clang, shell: 'bash {0}' } - { name: "MacOS 12 Apple Clang", os: macos-12, compiler: clang++, comp: clang, shell: 'bash {0}' } - { name: "MacOS 12 GCC 11", os: macos-12, compiler: g++-11, comp: gcc, 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}' } - { 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@v3 with: fetch-depth: 0 - 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