Skip to content

Commit 411cd5c

Browse files
committed
New Linux CIs
- Ubuntu 24.04 - Qt 5.15 - ARM64 - Ubuntu 24.04 - Qt 6.4 - Ubuntu 26.04 - Qt 6.10
1 parent 99fd5a7 commit 411cd5c

3 files changed

Lines changed: 45 additions & 17 deletions

File tree

.github/workflows/linux.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,3 @@ jobs:
2020
with:
2121
name: friction-ci-linux-x86_64
2222
path: distfiles/builds/*/*.AppImage
23-
qt6:
24-
runs-on: ubuntu-24.04
25-
steps:
26-
- uses: actions/checkout@v4
27-
- name: Build
28-
run: APT=1 QT6="ON" CI=1 MKJOBS=2 ./src/scripts/ci.sh

.github/workflows/ubuntu.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
name: Ubuntu
22

3-
on: workflow_dispatch
3+
on: [push, pull_request]
44

55
jobs:
6-
jammy:
7-
runs-on: ubuntu-22.04
6+
qt5_15_arm:
7+
runs-on: ubuntu-24.04-arm
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010
- name: Build
11-
run: APT=1 CI=1 MKJOBS=2 ./src/scripts/ci.sh
12-
noble:
11+
run: APT=1 CI=1 CPU=aarch64 MKJOBS=2 ./src/scripts/ci.sh
12+
qt6_4:
1313
runs-on: ubuntu-24.04
1414
steps:
15-
- uses: actions/checkout@v3
15+
- uses: actions/checkout@v4
1616
- name: Build
17-
run: APT=1 CI=1 MKJOBS=2 ./src/scripts/ci.sh
17+
run: APT=1 QT6="ON" FFMPEG=1 CI=1 MKJOBS=2 ./src/scripts/ci.sh
18+
qt6_10:
19+
runs-on: ubuntu-26.04
20+
steps:
21+
- uses: actions/checkout@v4
22+
- name: Build
23+
run: APT=1 QT6="ON" FFMPEG=1 CI=1 MKJOBS=2 ./src/scripts/ci.sh

src/scripts/ci.sh

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
#
1919

20-
# Friction Qt5/Qt6 CI (Ubuntu 24.04)
20+
# Friction Ubuntu CI
2121

2222
set -e -x
2323

2424
CI=${CI:-0}
2525
APT=${APT:-0}
2626
PC=${PC:-""}
2727
QT6=${QT6:-"OFF"}
28+
CPU=${CPU:-"x86_64"} # or aarch64
29+
FFMPEG=${FFMPEG:-0}
2830

2931
if [ "${QT6}" = "ON" ]; then
3032
QTV=6
@@ -60,7 +62,9 @@ libicu-dev \
6062
libharfbuzz-dev \
6163
libgl1-mesa-dev \
6264
libegl1-mesa-dev \
63-
libgles2-mesa-dev
65+
libgles2-mesa-dev \
66+
nasm \
67+
yasm
6468

6569
if [ "${QT6}" = "ON" ]; then
6670
sudo apt install -y \
@@ -97,17 +101,41 @@ fi
97101
CWD=`pwd`
98102
MKJOBS=${MKJOBS:-4}
99103

104+
FFMPEG_URL=https://github.com/friction2d/ffmpeg
105+
FFMPEG_COMMIT=44b01dbdbe3a742b5d006a7187b63a8a30293a45
106+
FFMPEG_INSTALL=${CWD}/build-ci/ffmpeg-install
107+
100108
cd ${CWD}
101109
rm -rf build-ci || true
102110
mkdir build-ci
103111
cd build-ci
104112

113+
if [ "${FFMPEG}" = 1 ]; then
114+
git clone ${FFMPEG_URL} ffmpeg-src
115+
cd ffmpeg-src
116+
./configure \
117+
--enable-shared \
118+
--disable-static \
119+
--prefix=${FFMPEG_INSTALL} \
120+
--enable-gpl \
121+
--enable-version3 \
122+
--disable-programs \
123+
--disable-debug \
124+
--disable-doc
125+
make -j${MKJOBS}
126+
make install
127+
export PKG_CONFIG_PATH=${FFMPEG_INSTALL}/lib/pkgconfig:${PKG_CONFIG_PATH}
128+
export LD_LIBRARY_PATH=${FFMPEG_INSTALL}/lib:${LD_LIBRARY_PATH}
129+
fi
130+
131+
cd ${CWD}/build-ci
132+
105133
cmake -G Ninja \
106134
-DCMAKE_BUILD_TYPE=Release \
107135
-DCMAKE_INSTALL_PREFIX=/usr \
108136
-DCMAKE_CXX_COMPILER=clang++ \
109137
-DCMAKE_C_COMPILER=clang \
110-
-DQSCINTILLA_INCLUDE_DIRS=/usr/include/x86_64-linux-gnu/qt${QTV} \
138+
-DQSCINTILLA_INCLUDE_DIRS=/usr/include/${CPU}-linux-gnu/qt${QTV} \
111139
-DQSCINTILLA_LIBRARIES=qscintilla2_qt${QTV} \
112140
-DUSE_QT6=${QT6} \
113141
..

0 commit comments

Comments
 (0)