on:
  workflow_dispatch:
    inputs:
      source-run-id:
        description: run id of the workflow that generated the artifact
        required: true
        type: string
      source-artifact-id:
        description: source tarball built during build-dist
        required: true
        type: string

name: Flatpak

jobs:
  build:
    if: github.repository == 'ghostty-org/ghostty'
    name: "Flatpak"
    container:
      image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-47
      options: --privileged
    strategy:
      fail-fast: false
      matrix:
        variant:
          - arch: x86_64
            runner: namespace-profile-ghostty-md
          - arch: aarch64
            runner: namespace-profile-ghostty-md-arm64
    runs-on: ${{ matrix.variant.runner }}
    steps:
      - name: Download Source Tarball Artifacts
        uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
        with:
          run-id: ${{ inputs.source-run-id }}
          artifact-ids: ${{ inputs.source-artifact-id }}
          github-token: ${{ github.token }}

      - name: Extract tarball
        run: |
          mkdir dist
          tar --verbose --extract --strip-components 1 --directory dist --file ghostty-source.tar.gz

      - uses: flatpak/flatpak-github-actions/flatpak-builder@401fe28a8384095fc1531b9d320b292f0ee45adb # v6.7
        with:
          bundle: com.mitchellh.ghostty
          manifest-path: dist/flatpak/com.mitchellh.ghostty.yml
          cache-key: flatpak-builder-${{ github.sha }}
          arch: ${{ matrix.variant.arch }}
          verbose: true
