Skip to content

Commit 3fa0f82

Browse files
shishivErza
authored andcommitted
ci: add GitHub Actions workflow for Linux build
Adds automated CI workflow that: - Builds on Ubuntu 24.04 with apt packages - Uses ccache for faster rebuilds - Uploads binary artifact on success Dependencies: wxWidgets 3.2, Boost, OpenGL, asio, nlohmann-json, fmt
1 parent 8628599 commit 3fa0f82

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

.github/workflows/build.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Build RME
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
build-linux:
13+
runs-on: ubuntu-24.04
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
19+
- name: Install dependencies
20+
run: |
21+
sudo apt-get update
22+
sudo apt-get install -y \
23+
build-essential \
24+
cmake \
25+
ccache \
26+
libasio-dev \
27+
nlohmann-json3-dev \
28+
libfmt-dev \
29+
libboost-system-dev \
30+
libboost-thread-dev \
31+
libwxgtk3.2-dev \
32+
libglu1-mesa-dev \
33+
freeglut3-dev \
34+
libarchive-dev \
35+
zlib1g-dev \
36+
libxmu-dev \
37+
libxi-dev
38+
39+
- name: Setup ccache
40+
run: |
41+
echo "/usr/lib/ccache" >> $GITHUB_PATH
42+
mkdir -p ~/.ccache
43+
ccache --max-size=500M
44+
ccache --set-config=compression=true
45+
46+
- name: Cache ccache
47+
uses: actions/cache@v4
48+
with:
49+
path: ~/.ccache
50+
key: ccache-rme-${{ runner.os }}-${{ github.sha }}
51+
restore-keys: |
52+
ccache-rme-${{ runner.os }}-
53+
54+
- name: Build RME
55+
run: |
56+
mkdir -p build
57+
cd build
58+
cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release
59+
make -j$(nproc)
60+
61+
- name: Show ccache stats
62+
run: ccache --show-stats
63+
64+
- name: Upload RME binary
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: rme-linux
68+
path: build/rme
69+
retention-days: 30

0 commit comments

Comments
 (0)