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