name: build
run-name: ${{ gitea.actor }} is building
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: host

    steps:
      - uses: actions/checkout@v4
      - run: scripts/run-end-to-end-tests

  docs:
    needs: [test]
    runs-on: host
    if: gitea.event_name == 'push'
    env:
      IMAGE_NAME: projects.torsion.org/borgmatic-collective/borgmatic:docs

    steps:
      - uses: actions/checkout@v4
      - run: podman login --username "$USERNAME" --password "$PASSWORD" projects.torsion.org
        env:
          USERNAME: "${{ secrets.REGISTRY_USERNAME }}"
          PASSWORD: "${{ secrets.REGISTRY_PASSWORD }}"
      - run: podman build --tag "$IMAGE_NAME" --file docs/Dockerfile --storage-opt "overlay.mount_program=/usr/bin/fuse-overlayfs" .
      - run: podman push "$IMAGE_NAME"
      - run: scripts/export-docs-from-image
      - run: curl --user "${{ secrets.REGISTRY_USERNAME }}:${{ secrets.REGISTRY_PASSWORD }}" --upload-file borgmatic-docs.tar.gz https://projects.torsion.org/api/packages/borgmatic-collective/generic/borgmatic-docs/$(head --lines=1 NEWS)/borgmatic-docs.tar.gz
