diff --git a/.github/workflows/linux-flatpak-build.yml b/.github/workflows/linux-flatpak-build.yml index 2462faeed3..a52454e06b 100644 --- a/.github/workflows/linux-flatpak-build.yml +++ b/.github/workflows/linux-flatpak-build.yml @@ -15,12 +15,17 @@ on: jobs: linux-flatpak-build: - name: "x64" - runs-on: ubuntu-22.04 + name: "Build" + strategy: + fail-fast: true + matrix: + setup: [{arch: "x86_64", runner: "ubuntu-22.04"}, {arch: "aarch64", runner: "ubuntu-24.04-arm"}] + + runs-on: ${{ matrix.setup.runner }} container: image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8 options: --privileged - timeout-minutes: 120 + timeout-minutes: 60 steps: - uses: actions/checkout@v4 with: @@ -72,17 +77,17 @@ jobs: - name: Build Flatpak uses: flathub-infra/flatpak-github-actions/flatpak-builder@23796715b3dfa4c86ddf50cf29c3cc8b3c82dca8 with: - bundle: duckstation-x64.flatpak + bundle: duckstation-${{ matrix.setup.arch }}.flatpak upload-artifact: false manifest-path: scripts/packaging/flatpak/org.duckstation.DuckStation.yaml - arch: x86_64 + arch: ${{ matrix.setup.arch }} build-bundle: true verbose: true mirror-screenshots-url: https://dl.flathub.org/media branch: stable cache: true restore-cache: true - cache-key: flatpak-x64-${{ hashFiles('scripts/packaging/flatpak/**/*.yaml') }} + cache-key: flatpak-${{ hashFiles('scripts/packaging/flatpak/**/*.yaml') }} - name: Validate Build run: | @@ -109,5 +114,5 @@ jobs: - name: Upload Flatpak uses: actions/upload-artifact@v4 with: - name: "linux-flatpak" - path: "duckstation-x64.flatpak" + name: "linux-flatpak-${{ matrix.setup.arch }}" + path: "duckstation-${{ matrix.setup.arch }}.flatpak" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5f904c1ed7..734429ab96 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,7 +63,8 @@ jobs: ./artifacts/windows-arm64/duckstation-windows-arm64-release-symbols.zip ./artifacts/linux-x64-appimage/DuckStation-x64.AppImage ./artifacts/linux-x64-sse2-appimage/DuckStation-x64-SSE2.AppImage - ./artifacts/linux-flatpak/duckstation-x64.flatpak + ./artifacts/linux-flatpak-x86_64/duckstation-x86_64.flatpak + ./artifacts/linux-flatpak-aarch64/duckstation-aarch64.flatpak ./artifacts/macos/duckstation-mac-release.zip - name: Create Rolling Release @@ -83,6 +84,7 @@ jobs: ./artifacts/windows-arm64/duckstation-windows-arm64-release-symbols.zip ./artifacts/linux-x64-appimage/DuckStation-x64.AppImage ./artifacts/linux-x64-sse2-appimage/DuckStation-x64-SSE2.AppImage - ./artifacts/linux-flatpak/duckstation-x64.flatpak + ./artifacts/linux-flatpak-x86_64/duckstation-x86_64.flatpak + ./artifacts/linux-flatpak-aarch64/duckstation-aarch64.flatpak ./artifacts/macos/duckstation-mac-release.zip