Repository navigation
64 lines (50 loc) · 1.6 KB
/
Copy pathc-cpp.yml
File metadata and controls
64 lines (50 loc) · 1.6 KB
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
name: 🔥 IronPhoenix CI
on:
push:
branches:
- main
- nnue-v1
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: 🐧 Linux GCC
os: ubuntu-latest
configure_args: -DCMAKE_BUILD_TYPE=Release
binary: build/ironphoenix
- name: 🪟 Windows MSVC
os: windows-latest
configure_args: -A x64
binary: build/Release/ironphoenix.exe
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: ⚙️ Configure
run: >
cmake -S . -B build
${{ matrix.configure_args }}
-DIRONPHOENIX_BUILD_TESTS=ON
-DIRONPHOENIX_BUILD_BENCHMARK=ON
- name: 🔨 Build
run: cmake --build build --config Release --parallel
- name: 🧪 Run tests
run: ctest --test-dir build -C Release --output-on-failure
- name: ⚡ Report search NPS (diagnostic only)
run: ${{ runner.os == 'Windows' && './build/Release/ironphoenix_nps_bench.exe' || './build/ironphoenix_nps_bench' }}
- name: 🖥️ Web GUI integration against compiled engine
env:
IRONPHOENIX_NATIVE_ENGINE: ${{ matrix.binary }}
run: node --test web/tests/native-engine.test.js
- name: 🧠 Validate PhoenixNet Python
if: ${{ hashFiles('nnue/*.py') != '' }}
run: python -m py_compile nnue/model.py nnue/train.py nnue/export.py