Skip to content

flatpak

flatpak #1

Workflow file for this run

name: Build Flatpak
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
build-flatpak:
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- arch: x86_64
runner: ubuntu-latest
- arch: aarch64
runner: ubuntu-24.04-arm
container:
image: bilelmoussaoui/flatpak-github-actions:freedesktop-23.08
options: --privileged
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get Flutter SHA256
id: flutter-hash
run: |
FLUTTER_URL="https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.1-stable.tar.xz"
FLUTTER_SHA256=$(curl -sL "$FLUTTER_URL" | sha256sum | cut -d' ' -f1)
echo "sha256=$FLUTTER_SHA256" >> $GITHUB_OUTPUT
echo "Flutter SHA256: $FLUTTER_SHA256"
- name: Update manifest with Flutter SHA256
run: |
sed -i "s/FLUTTER_SHA256/${{ steps.flutter-hash.outputs.sha256 }}/" dev.xmit.bob.yaml
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: bob-${{ matrix.arch }}.flatpak
manifest-path: dev.xmit.bob.yaml
cache-key: flatpak-builder-${{ matrix.arch }}-${{ github.sha }}
arch: ${{ matrix.arch }}
- name: Upload Flatpak bundle
uses: actions/upload-artifact@v4
with:
name: bob-flatpak-${{ matrix.arch }}
path: bob-${{ matrix.arch }}.flatpak
retention-days: 30