.arm64 linux
This commit is contained in:
+42
-14
@@ -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 }}
|
||||||
Reference in New Issue
Block a user