Repository navigation
Build Flatpak #26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Flatpak | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| artifact_retention_days: | |
| description: "How many days to keep the generated Flatpak artifacts" | |
| required: false | |
| default: "30" | |
| env: | |
| ARTIFACT_RETENTION_DAYS: ${{ github.event_name == 'workflow_dispatch' && inputs.artifact_retention_days || 30 }} | |
| jobs: | |
| flatpak: | |
| name: Build & Bundle Flatpak | |
| container: | |
| image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-50 | |
| options: --privileged | |
| strategy: | |
| matrix: | |
| variant: | |
| - arch: x86_64 | |
| runner: ubuntu-24.04 | |
| - arch: aarch64 | |
| runner: ubuntu-24.04-arm | |
| runs-on: ${{ matrix.variant.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build AIStudio flatpak | |
| uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | |
| with: | |
| bundle: AIStudio.flatpak | |
| manifest-path: org.mindworkai.AIStudio.yml | |
| arch: ${{ matrix.variant.arch }} | |
| cache-key: ai-studio | |
| cache: true | |
| branch: stable | |
| upload-artifact: false | |
| - name: Prepare plugin builds | |
| run: flatpak install --system -y --noninteractive ./AIStudio.flatpak | |
| - name: Build Pandoc plugin | |
| uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | |
| with: | |
| bundle: AIStudio-plugin-pandoc.flatpak | |
| manifest-path: plugins/pandoc/org.mindworkai.AIStudio.plugin.pandoc.yml | |
| arch: ${{ matrix.variant.arch }} | |
| cache-key: pandoc-plugin | |
| cache: true | |
| upload-artifact: false | |
| - name: Rename Flatpak artifacts | |
| run: | | |
| set -euo pipefail | |
| mv AIStudio.flatpak "MindWork AI Studio_${{ matrix.variant.arch }}.flatpak" | |
| mv AIStudio-plugin-pandoc.flatpak "MindWork AI Studio Plugin Pandoc_${{ matrix.variant.arch }}.flatpak" | |
| test -s "MindWork AI Studio_${{ matrix.variant.arch }}.flatpak" | |
| test -s "MindWork AI Studio Plugin Pandoc_${{ matrix.variant.arch }}.flatpak" | |
| - name: Upload Flatpak artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: MindWork AI Studio Flatpak (${{ matrix.variant.arch }}) | |
| path: | | |
| MindWork AI Studio_${{ matrix.variant.arch }}.flatpak | |
| MindWork AI Studio Plugin Pandoc_${{ matrix.variant.arch }}.flatpak | |
| if-no-files-found: error | |
| overwrite: true | |
| retention-days: ${{ fromJSON(env.ARTIFACT_RETENTION_DAYS) }} |