Skip to content

Commit 28a1989

Browse files
committed
experimental arm64 linux
1 parent 374a95e commit 28a1989

1 file changed

Lines changed: 69 additions & 1 deletion

File tree

.github/workflows/build.yml

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,63 @@ jobs:
6666
name: PlayerLink-AppImage
6767
path: ./*.AppImage
6868

69+
build-linux-arm64:
70+
runs-on: ubuntu-22.04-arm
71+
72+
steps:
73+
- name: Checkout code
74+
uses: actions/checkout@v3
75+
with:
76+
submodules: recursive
77+
fetch-depth: 0
78+
79+
- name: Set up CMake
80+
uses: lukka/get-cmake@latest
81+
with:
82+
cmakeVersion: '3.22.0'
83+
84+
- name: Install dependencies
85+
run: |
86+
sudo apt-get update
87+
sudo apt-get install -y \
88+
build-essential \
89+
libssl-dev \
90+
libx11-dev \
91+
libxext-dev \
92+
libxrandr-dev \
93+
libxinerama-dev \
94+
libxcursor-dev \
95+
zlib1g-dev \
96+
libglu1-mesa-dev \
97+
libgtk-3-dev \
98+
libwayland-dev \
99+
fuse
100+
sudo modprobe fuse
101+
102+
- name: Configure with CMake
103+
run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
104+
105+
- name: Build the project
106+
run: cmake --build build --config Release --target PlayerLink --parallel $(nproc)
107+
108+
- name: Download linuxdeploy
109+
run: |
110+
wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-aarch64.AppImage"
111+
wget "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
112+
chmod +x linuxdeploy-aarch64.AppImage linuxdeploy-plugin-gtk.sh
113+
sudo mv linuxdeploy-aarch64.AppImage /usr/local/bin/linuxdeploy
114+
115+
- name: Create AppImage
116+
run: |
117+
cp -r build/PlayerLink linux/AppDir/usr/bin/
118+
linuxdeploy --appdir=linux/AppDir --plugin gtk --output appimage
119+
120+
- name: Upload AppImage artifact
121+
uses: actions/upload-artifact@v4
122+
with:
123+
name: PlayerLink-AppImage-ARM64
124+
path: ./*.AppImage
125+
69126
build-windows:
70127
runs-on: windows-latest
71128

@@ -163,7 +220,7 @@ jobs:
163220

164221
create-release:
165222
if: startsWith(github.ref, 'refs/tags/')
166-
needs: [build-linux, build-windows, build-windows-arm64, build-macos]
223+
needs: [build-linux, build-linux-arm64, build-windows, build-windows-arm64, build-macos]
167224
runs-on: ubuntu-latest
168225
steps:
169226
- name: Download artifacts
@@ -183,6 +240,7 @@ jobs:
183240
release_name: Release ${{ github.ref_name }}
184241
draft: false
185242
prerelease: false
243+
186244
- name: Upload AppImage
187245
uses: actions/upload-release-asset@v1
188246
env:
@@ -193,6 +251,16 @@ jobs:
193251
asset_name: PlayerLink-x86_64.AppImage
194252
asset_content_type: application/octet-stream
195253

254+
- name: Upload ARM64 AppImage
255+
uses: actions/upload-release-asset@v1
256+
env:
257+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
258+
with:
259+
upload_url: ${{ steps.create_release.outputs.upload_url }}
260+
asset_path: ./release-assets/PlayerLink-aarch64.AppImage
261+
asset_name: PlayerLink-aarch64.AppImage
262+
asset_content_type: application/octet-stream
263+
196264
- name: Upload Windows Executable
197265
uses: actions/upload-release-asset@v1
198266
env:

0 commit comments

Comments
 (0)