🏡 index : quine-global-labs/dnf-package-store.git

name: RPM

# Builds dnf-package-store as RPMs for x86_64 and aarch64 and uploads them to the
# forge's `quine` RPM group,
# https://forge.in.quineglobal.com/api/packages/quine-global-labs/rpm/quine,
# which quine-linux's image installs it from. The build itself is the shared
# quine-global/app-build action; packaging/dnf-package-store.spec is this app's part.
#
# Secret: REGISTRY_TOKEN, a Forgejo token with package write access.
# Variable (optional): REGISTRY_USER, the token's owner (default: the actor).
on:
  push:
    branches: [main]
  workflow_dispatch:

concurrency:
  group: rpm-${{ github.ref }}
  cancel-in-progress: true

jobs:
  rpm:
    # Each architecture natively, on its own runner.
    strategy:
      matrix:
        include:
          - arch: amd64
            runner: runner-x86-linux
          - arch: arm64
            runner: runner-arm64-linux
    runs-on: ${{ matrix.runner }}
    steps:
      - uses: https://forge.in.quineglobal.com/quine-global-labs/mirror-actions-checkout@v4
        with:
          fetch-depth: 0

      - uses: https://forge.in.quineglobal.com/quine-global/app-build@v1
        with:
          name: dnf-package-store
          kind: flutter
          archs: ${{ matrix.arch }}
          registry-username: ${{ vars.REGISTRY_USER || github.actor }}
          registry-password: ${{ secrets.REGISTRY_TOKEN }}