Skip to content

Commit c970066

Browse files
authored
improve workflow pipeline (#296)
No functional change. bench: 1327210
1 parent c0be550 commit c970066

File tree

10 files changed

+133
-41
lines changed

10 files changed

+133
-41
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Igel Build with CMake
1+
name: Igel Linux Build with CMake
22

33
on:
44
push:
@@ -44,3 +44,6 @@ jobs:
4444

4545
- name: Build the project
4646
run: make -j
47+
48+
- name: Run the bench
49+
run: ./igel bench
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Igel Windows Build with CMake
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
workflow_dispatch: # Allow manual triggering of the workflow
11+
12+
jobs:
13+
build:
14+
runs-on: ${{ matrix.os }}
15+
16+
strategy:
17+
matrix:
18+
os: [ windows-latest ]
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v2
23+
24+
- name: Configure CMake
25+
run: cmake -DUSE_AVX2=1 -D_BTYPE=1 -DSYZYGY_SUPPORT=TRUE .
26+
27+
- name: Build the project
28+
run: cmake --build . --config Release
29+
30+
- name: Download network file
31+
run: curl -L -o Release/network_file https://github.com/vshcherbyna/igel/releases/download/3.5.0/c049c117
32+
33+
- name: Run the bench
34+
run: igel.exe bench
35+
working-directory: Release
36+
shell: cmd

.github/workflows/ut-linux.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Igel Linux Unit Tests with CMake
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
workflow_dispatch: # Allow manual triggering of the workflow
11+
12+
jobs:
13+
build:
14+
runs-on: ${{ matrix.os }}
15+
16+
strategy:
17+
matrix:
18+
os: [ ubuntu-latest ]
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v2
23+
24+
- name: Checkout submodules
25+
run: git submodule update --init --recursive
26+
27+
- name: Install GCC versions
28+
run: |
29+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
30+
sudo apt-get update
31+
sudo apt-get install -y gcc-12 g++-12 gcc-13 g++-13
32+
33+
- name: Set GCC version
34+
run: |
35+
# Set GCC 14 as the default version
36+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 60
37+
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 60
38+
39+
- name: Install CMake
40+
run: sudo apt-get install -y cmake
41+
42+
- name: Download network file
43+
run: wget https://github.com/vshcherbyna/igel/releases/download/3.5.0/c049c117 -O ./network_file
44+
45+
- name: Configure CMake for the UTs
46+
run: cmake -DEVALFILE=network_file -D_MAKE_UNIT_TEST=UNIT_TEST -D_BTYPE=1 -DUSE_AVX2=1 .
47+
48+
- name: Build the UTs
49+
run: make -j
50+
51+
- name: Run the UTs
52+
run: ./unit

.github/workflows/ut-windows.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Igel Windows Unit Tests with CMake
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
workflow_dispatch: # Allow manual triggering of the workflow
11+
12+
jobs:
13+
build:
14+
runs-on: ${{ matrix.os }}
15+
16+
strategy:
17+
matrix:
18+
os: [ windows-latest ]
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v2
23+
24+
- name: Checkout submodules
25+
run: git submodule update --init --recursive
26+
27+
- name: Configure CMake for the UTs
28+
run: cmake -D_MAKE_UNIT_TEST=UNIT_TEST -D_BTYPE=1 -DUSE_AVX2=1 -G "Visual Studio 17 2022" .
29+
30+
- name: Build the UTs
31+
run: cmake --build . --target ALL_BUILD --config Release
32+
33+
- name: Run the UTs
34+
run: unit.exe
35+
working-directory: Release
36+
shell: cmd

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ ENDIF (MSVC)
5656
IF (DEFINED _MAKE_UNIT_TEST)
5757
IF (UNIX)
5858
ADD_DEFINITIONS(-DNDEBUG)
59-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -O3 -march=native -pthread")
59+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-error=maybe-uninitialized -O3 -march=native -pthread")
6060
ENDIF (UNIX)
6161
ADD_SUBDIRECTORY(external/googletest)
6262
ENABLE_TESTING()
@@ -68,7 +68,7 @@ IF (DEFINED _MAKE_UNIT_TEST)
6868
ELSE()
6969
IF (UNIX)
7070
ADD_DEFINITIONS(-DNDEBUG)
71-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -O3 -march=native -flto -pthread -mavx2")
71+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -O3 -march=native -flto=auto -pthread -mavx2")
7272
ENDIF (UNIX)
7373
ADD_EXECUTABLE(igel ${SRCFILES} ${HDRFILES} ${FATHOM_SRCFILES} ${FATHOM_HDRFILES} ${INCBIN_HDRFILES})
7474
ENDIF()

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
![Logo](https://raw.githubusercontent.com/vshcherbyna/igel/master/igel.bmp)
44

5-
[![Build Status](https://ci.appveyor.com/api/projects/status/github/vshcherbyna/igel?svg=true)](https://ci.appveyor.com/project/vshcherbyna/igel)
6-
75
Igel is a free UCI chess engine from Ukraine. It is not a complete chess program and requires some UCI compatible GUI software in order to be used.
86

97
### History

appveyor.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ NNFLAGS = -DEVALFILE=\"$(EVALFILE)\"
1414

1515
LIBS = -std=c++17 -mpopcnt -pthread
1616
WARN = -Wall
17-
OPTIM = -O3 -march=native -flto
17+
OPTIM = -O3 -march=native -flto=auto
1818
DEFS = -DNDEBUG -D_BTYPE=0 -DSYZYGY_SUPPORT=TRUE
1919

2020
ifneq ($(findstring __AVX2__, $(GCCDEFINES)),)

src/nnue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void Evaluator::initEval()
5252
MemoryBuffer buffer(const_cast<char*>(reinterpret_cast<const char*>(gEmbeddedNNUEData)), size_t(gEmbeddedNNUESize));
5353
std::istream stream(&buffer);
5454
#else
55-
std::ifstream stream("c049c117", std::ios::binary);
55+
std::ifstream stream("network_file", std::ios::binary);
5656
#endif
5757

5858
initEval(stream);

src/uci.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ int Uci::onBench()
248248
std::cout << "Nodes : " << sumNodes << std::endl;
249249
std::cout << "NPS : " << static_cast<int>(sumNodes / ((GetProcTime() - start) / 1000.0)) << std::endl;
250250

251-
return static_cast<int>(sumNodes);
251+
return 0; // ci pipelines expect retval 0 for success
252252
}
253253

254254
void Uci::onPosition(commandParams params)

0 commit comments

Comments
 (0)