File: compilation.yml

package info (click to toggle)
stockfish 17-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 77,812 kB
  • sloc: cpp: 11,863; makefile: 931; python: 684; sh: 314; ansic: 239
file content (94 lines) | stat: -rw-r--r-- 2,699 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: Compilation
on:
  workflow_call:
    inputs:
      matrix:
        type: string
        required: true
jobs:
  Compilation:
    name: ${{ matrix.config.name }} ${{ matrix.binaries }}
    runs-on: ${{ matrix.config.os }}
    env:
      COMPCXX: ${{ matrix.config.compiler }}
      COMP: ${{ matrix.config.comp }}
      EXT: ${{ matrix.config.ext }}
      NAME: ${{ matrix.config.simple_name }}
      BINARY: ${{ matrix.binaries }}
      SDE: ${{ matrix.config.sde }}
    strategy:
      fail-fast: false
      matrix: ${{ fromJson(inputs.matrix) }}
    defaults:
      run:
        working-directory: src
        shell: ${{ matrix.config.shell }}
    steps:
      - uses: actions/checkout@v4
        with:
          persist-credentials: false

      - name: Install fixed GCC on Linux
        if: runner.os == 'Linux'
        uses: egor-tensin/setup-gcc@eaa888eb19115a521fa72b65cd94fe1f25bbcaac # @v1.3
        with:
          version: 11

      - 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 zip

      - name: Download SDE package
        if: runner.os == 'Linux' || runner.os == 'Windows'
        uses: petarpetrovt/setup-sde@91a1a03434384e064706634125a15f7446d2aafb # @v2.3
        with:
          environmentVariableName: SDE_DIR
          sdeVersion: 9.27.0

      - name: Download the used network from the fishtest framework
        run: make net

      - name: Check compiler
        run: $COMPCXX -v

      - name: Test help target
        run: make help

      - name: Check git
        run: git --version

      - name: Check compiler
        run: $COMPCXX -v

      - name: Show g++ cpu info
        if: runner.os != 'macOS'
        run: g++ -Q -march=native --help=target

      - name: Show clang++ cpu info
        if: runner.os == 'macOS'
        run: clang++ -E - -march=native -###

      # x86-64 with newer extensions tests

      - name: Compile ${{ matrix.config.binaries }} build
        run: |
          make clean
          make -j4 profile-build ARCH=$BINARY COMP=$COMP WINE_PATH="$SDE"
          make strip ARCH=$BINARY COMP=$COMP
          WINE_PATH="$SDE" ../tests/signature.sh $benchref
          mv ./stockfish$EXT ../stockfish-$NAME-$BINARY$EXT

      - name: Remove non src files
        run: git clean -fx

      - name: Upload artifact for (pre)-release
        uses: actions/upload-artifact@v4
        with:
          name: ${{ matrix.config.simple_name }} ${{ matrix.binaries }}
          path: |
             .
             !.git
             !.output