Skip to content

Flatter

Flatter #373

Workflow file for this run

name: Flatter
on:
# Rebuild once a day
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
flatter:
name: Flatter
runs-on: ubuntu-latest
container:
image: ghcr.io/andyholmes/flatter/gnome:45
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
fail-fast: false
# Only one job at a time can use the shared repository cache
max-parallel: 1
steps:
# Checkout a repository with Flatpak manifests
- name: Checkout
uses: actions/checkout@v3
- name: Generate Cargo sources
run: |
python3 ./build-aux/flatpak-cargo-generator.py ./Cargo.lock -o cargo-sources.json
- name: Setup QEMU
if: ${{ matrix.arch == 'aarch64' }}
id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Setup GPG
id: gpg
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
# Generate a CNAME file on-the-fly for a configured host
# - name: Generate CNAME
# run: |
# echo "flatter.andyholmes.ca" > CNAME
- name: Build
uses: andyholmes/flatter@main
with:
files: |
build-aux/net.base_art.Glide.Devel.json
arch: ${{ matrix.arch }}
flatpak-builder-args: |
--install-deps-from=flathub
--install-deps-from=flathub-beta
gpg-sign: ${{ steps.gpg.outputs.fingerprint }}
upload-bundles: true
upload-pages-artifact: ${{ matrix.arch == 'aarch64' }}
upload-pages-includes: |
base.css
style.css
index.html
glide.flatpakref
deploy:
name: Deploy
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