name: Flatter on: push: branches: [ main, master ] release: types: [ published ] workflow_dispatch: inputs: tag_name: description: "Какой тег собираем? (оставь пустым для сборки из текущей ветки)" required: false type: string build_branch: description: "В какую ветку Flatpak собирать?" required: true type: choice options: - stable - nightly default: "stable" jobs: flatter: name: Flatter runs-on: ubuntu-latest permissions: contents: read container: image: ghcr.io/andyholmes/flatter/freedesktop:25.08 options: --privileged steps: - name: Checkout uses: actions/checkout@v4 with: ref: ${{ inputs.tag_name || github.ref }} - name: Setup GPG id: gpg uses: crazy-max/ghaction-import-gpg@v6 with: gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} passphrase: ${{ secrets.GPG_PASSPHRASE }} - name: Set Default Branch id: set_branch run: | if [ "${{ github.event_name }}" == "release" ]; then echo "branch=stable" >> $GITHUB_OUTPUT elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then echo "branch=${{ inputs.build_branch }}" >> $GITHUB_OUTPUT else echo "branch=nightly" >> $GITHUB_OUTPUT fi - name: Modify Manifest run: | echo "branch: ${{ steps.set_branch.outputs.branch }}" >> packages/flatpak/ru.arabianq.pwsp.yaml echo "default-branch: ${{ steps.set_branch.outputs.branch }}" >> packages/flatpak/ru.arabianq.pwsp.yaml - name: Install SDK Extensions run: flatpak install -y flathub org.freedesktop.Sdk.Extension.rust-stable//25.08 org.freedesktop.Sdk.Extension.llvm20//25.08 - name: Build Flatpak uses: andyholmes/flatter@main with: files: packages/flatpak/ru.arabianq.pwsp.yaml gpg-sign: ${{ steps.gpg.outputs.fingerprint }} upload-bundles: false upload-pages-artifact: true deploy: name: Deploy to GitHub Pages runs-on: ubuntu-latest needs: flatter permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: GitHub Pages id: deployment uses: actions/deploy-pages@v4