Skip to content

Commit 05cd300

Browse files
committed
LG WebOS: Create GitHub Actions build pipeline
1 parent 4f33aea commit 05cd300

File tree

4 files changed

+90
-5
lines changed

4 files changed

+90
-5
lines changed

.github/workflows/ci-webos.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: CI (LG WebOS)
2+
3+
on:
4+
workflow_dispatch:
5+
6+
env:
7+
CTEST_OUTPUT_ON_FAILURE: 1
8+
9+
jobs:
10+
webos:
11+
name: CI
12+
runs-on: ubuntu-24.04
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- uses: actions/setup-node@v4
19+
with:
20+
node-version: 22
21+
22+
- name: Install dependencies
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install -y --no-install-recommends \
26+
build-essential \
27+
cmake \
28+
# EOF
29+
30+
- name: Install webOS CLI
31+
run: |
32+
npm install -g @webosose/ares-cli
33+
34+
- name: Install webOS toolchain
35+
run: |
36+
curl -L https://github.com/openlgtv/buildroot-nc4/releases/latest/download/arm-webos-linux-gnueabi_sdk-buildroot.tar.gz -o webos.tar.gz
37+
tar -xzf webos.tar.gz -C os/webos
38+
rm -f webos.tar.gz
39+
cd os/webos/arm-webos-linux-gnueabi_sdk-buildroot
40+
./relocate-sdk.sh
41+
42+
- name: Install FluidSynth
43+
run: |
44+
git clone https://github.com/FluidSynth/fluidsynth
45+
cd fluidsynth
46+
mkdir build
47+
cd build
48+
cmake .. \
49+
-DCMAKE_TOOLCHAIN_FILE="$GITHUB_WORKSPACE/os/webos/arm-webos-linux-gnueabi_sdk-buildroot/share/buildroot/toolchainfile.cmake" \
50+
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/os/webos/arm-webos-linux-gnueabi_sdk-buildroot/arm-webos-linux-gnueabi/sysroot/usr"
51+
make
52+
make install
53+
54+
- name: Build native tools
55+
run: |
56+
mkdir build-native
57+
cd build-native
58+
cmake .. -DOPTION_TOOLS_ONLY=ON
59+
make -j
60+
61+
- name: Build OpenTTD
62+
run: |
63+
mkdir build
64+
cd build
65+
66+
cmake .. \
67+
-DCMAKE_TOOLCHAIN_FILE="$GITHUB_WORKSPACE/os/webos/arm-webos-linux-gnueabi_sdk-buildroot/share/buildroot/toolchainfile.cmake" \
68+
-DHOST_BINARY_DIR="$GITHUB_WORKSPACE/build-native" \
69+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
70+
-DWEBOS=ON \
71+
-DOPTION_PACKAGE_DEPENDENCIES=ON
72+
73+
make -j5
74+
75+
- name: Package OpenTTD
76+
run: |
77+
cd os/webos
78+
chmod +x package.sh
79+
TOOLCHAIN_DIRECTORY=$GITHUB_WORKSPACE/os/webos/arm-webos-linux-gnueabi_sdk-buildroot ./package.sh
80+
ls
81+
82+
- name: Upload .ipk
83+
uses: actions/upload-artifact@v4
84+
with:
85+
name: openttd
86+
path: os/webos/*.ipk

os/webos/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
*.ipk
2-
*.sf2
32
dist/

os/webos/package.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
TOOLCHAIN_DIRECTORY=/opt/arm-webos-linux-gnueabi_sdk-buildroot
3+
TOOLCHAIN_DIRECTORY="${TOOLCHAIN_DIRECTORY:-"/opt/arm-webos-linux-gnueabi_sdk-buildroot"}"
44

55
rm -rf dist/
66
mkdir dist/
@@ -20,8 +20,8 @@ cp $TOOLCHAIN_DIRECTORY/arm-webos-linux-gnueabi/sysroot/usr/lib/libicuuc.so.70.1
2020
ln -rs dist/lib/libicuuc.so.70.1 dist/lib/libicuuc.so.70
2121
cp $TOOLCHAIN_DIRECTORY/arm-webos-linux-gnueabi/sysroot/usr/lib/libstdc++.so.6.0.30 dist/lib
2222
ln -rs dist/lib/libstdc++.so.6.0.30 dist/lib/libstdc++.so.6
23-
cp $TOOLCHAIN_DIRECTORY/arm-webos-linux-gnueabi/sysroot/usr/lib/libfluidsynth.so.3.2.2 dist/lib
24-
ln -rs dist/lib/libfluidsynth.so.3.2.2 dist/lib/libfluidsynth.so.3
23+
cp $TOOLCHAIN_DIRECTORY/arm-webos-linux-gnueabi/sysroot/usr/lib/libfluidsynth.so.3.3.3 dist/lib
24+
ln -rs dist/lib/libfluidsynth.so.3.3.3 dist/lib/libfluidsynth.so.3
2525
cp $TOOLCHAIN_DIRECTORY/arm-webos-linux-gnueabi/sysroot/usr/lib/libreadline.so.8.1 dist/lib
2626
ln -rs dist/lib/libreadline.so.8.1 dist/lib/libreadline.so.8
2727

os/webos/public/appinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "com.leondrolio.x.openttd",
3-
"version": "0.0.3",
3+
"version": "0.0.5",
44
"vendor": "leondrolio.com",
55
"type": "native",
66
"main": "openttd",

0 commit comments

Comments
 (0)