on: 
  pull_request:
    types: [ assigned, opened, synchronize, reopened ]

jobs:
  build-test-edge:
    runs-on: x86_64
    container:
      image: alpine:3.20
    env:
      QUBES_REL: r4.2
      DIST: alpineedge
    steps:
      - name: Environment setup
        run: |
          apk add rpm wget coreutils eudev e2fsprogs xen doas sudo curl nodejs git alpine-sdk fuse2fs patch findutils grep
          cd /etc/apk/keys
          curl -JO https://ayakael.net/api/packages/forge/alpine/key
      - name: Repo pull
        uses: actions/checkout@v4
        with:
          fetch-depth: 500
      - name: RPM build
        run: |
          git clone https://github.com/QubesOS/qubes-builder
          mkdir qubes-builder/qubes-src
          ln -s $GITHUB_WORKSPACE qubes-builder/qubes-src/builder-alpine
          cp builder.conf qubes-builder/.
          git clone https://github.com/QubesOS/qubes-linux-template-builder qubes-builder/qubes-src/linux-template-builder
          patch -d qubes-builder/qubes-src/linux-template-builder -p1 -i $GITHUB_WORKSPACE/.forgejo/patches/linux-template-builder_use-fuse.patch
          echo "%define _arch x86_64" >> qubes-builder/qubes-src/linux-template-builder/templates.spec
          echo "4.2.0" > qubes-builder/qubes-src/linux-template-builder/version
          sed "s|DISTS_VM :.*|DISTS_VM := $DIST|" -i ./qubes-builder/builder.conf
          cd qubes-builder
          make linux-template-builder
          cp qubes-src/linux-template-builder/rpm/noarch/qubes-template-*.rpm $GITHUB_WORKSPACE/.
      - name: Package upload
        uses: forgejo/upload-artifact@v3
        with:
          name: package
          path: qubes-template-*.rpm