.arm64 linux

This commit is contained in:
afkarxyz
2026-04-18 07:52:20 +07:00
parent d6907641ed
commit 17a75ea278
+42 -14
View File
@@ -175,8 +175,28 @@ jobs:
retention-days: 7 retention-days: 7
build-linux: build-linux:
name: Build Linux name: Build Linux (${{ matrix.display_name }})
runs-on: ubuntu-24.04 runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- display_name: amd64
runner: ubuntu-24.04
wails_platform: linux/amd64
artifact_name: linux-portable
output_name: SpotiFLAC.AppImage
appimage_arch: x86_64
appimagetool_arch: x86_64
pkgconfig_dir: /usr/lib/x86_64-linux-gnu/pkgconfig
- display_name: arm64
runner: ubuntu-24.04-arm
wails_platform: linux/arm64
artifact_name: linux-portable-arm
output_name: SpotiFLAC-ARM.AppImage
appimage_arch: aarch64
appimagetool_arch: aarch64
pkgconfig_dir: /usr/lib/aarch64-linux-gnu/pkgconfig
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -225,7 +245,7 @@ jobs:
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libfuse2 imagemagick upx-ucl sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libfuse2 imagemagick upx-ucl
# Create symlink for webkit2gtk-4.0 -> webkit2gtk-4.1 (Ubuntu 24.04 compatibility) # Create symlink for webkit2gtk-4.0 -> webkit2gtk-4.1 (Ubuntu 24.04 compatibility)
sudo ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/webkit2gtk-4.1.pc /usr/lib/x86_64-linux-gnu/pkgconfig/webkit2gtk-4.0.pc sudo ln -sf "${{ matrix.pkgconfig_dir }}/webkit2gtk-4.1.pc" "${{ matrix.pkgconfig_dir }}/webkit2gtk-4.0.pc"
- name: Install Wails CLI - name: Install Wails CLI
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
@@ -237,7 +257,7 @@ jobs:
pnpm run generate-icon pnpm run generate-icon
- name: Build application - name: Build application
run: wails build -platform linux/amd64 run: wails build -platform ${{ matrix.wails_platform }}
- name: Compress with UPX - name: Compress with UPX
run: | run: |
@@ -248,13 +268,13 @@ jobs:
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: appimagetool path: appimagetool
key: appimagetool-x86_64-v1 key: appimagetool-${{ matrix.appimagetool_arch }}-v2
- name: Download appimagetool - name: Download appimagetool
if: steps.cache-appimagetool.outputs.cache-hit != 'true' if: steps.cache-appimagetool.outputs.cache-hit != 'true'
run: | run: |
wget --timeout=30 --tries=5 --retry-connrefused --waitretry=5 -O appimagetool https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage || \ wget --timeout=30 --tries=5 --retry-connrefused --waitretry=5 -O appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-${{ matrix.appimagetool_arch }}.AppImage" || \
wget --timeout=30 --tries=5 --retry-connrefused --waitretry=5 -O appimagetool https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage wget --timeout=30 --tries=5 --retry-connrefused --waitretry=5 -O appimagetool "https://github.com/AppImage/appimagetool/releases/download/1.9.1/appimagetool-${{ matrix.appimagetool_arch }}.AppImage"
- name: Make appimagetool executable - name: Make appimagetool executable
run: chmod +x appimagetool run: chmod +x appimagetool
@@ -309,13 +329,13 @@ jobs:
# Create AppImage # Create AppImage
mkdir -p dist mkdir -p dist
ARCH=x86_64 ./appimagetool --no-appstream AppDir dist/SpotiFLAC.AppImage ARCH=${{ matrix.appimage_arch }} ./appimagetool --no-appstream AppDir "dist/${{ matrix.output_name }}"
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: linux-portable name: ${{ matrix.artifact_name }}
path: dist/SpotiFLAC.AppImage path: dist/${{ matrix.output_name }}
retention-days: 7 retention-days: 7
create-release: create-release:
@@ -356,7 +376,8 @@ jobs:
- `SpotiFLAC.exe` - Windows - `SpotiFLAC.exe` - Windows
- `SpotiFLAC.dmg` - macOS - `SpotiFLAC.dmg` - macOS
- `SpotiFLAC.AppImage` - Linux - `SpotiFLAC.AppImage` - Linux AMD64
- `SpotiFLAC-ARM.AppImage` - Linux ARM64
<details> <details>
<summary><b>Linux Requirements</b></summary> <summary><b>Linux Requirements</b></summary>
@@ -384,10 +405,17 @@ jobs:
./SpotiFLAC.AppImage ./SpotiFLAC.AppImage
``` ```
For ARM64:
```bash
chmod +x SpotiFLAC-ARM.AppImage
./SpotiFLAC-ARM.AppImage
```
</details> </details>
files: | files: |
artifacts/windows-portable/*.exe artifacts/windows-portable/SpotiFLAC.exe
artifacts/macos-portable/*.dmg artifacts/macos-portable/SpotiFLAC.dmg
artifacts/linux-portable/*.AppImage artifacts/linux-portable/SpotiFLAC.AppImage
artifacts/linux-portable-arm/SpotiFLAC-ARM.AppImage
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}