---

on:
  push:
    branches:
      - main
  schedule:
    - cron: "0 2 * * *"  # every night at 1 AM

jobs:

  # One step per package

  ansible-semaphore: &job
    runs-on: docker
    container:
      image: git.kabelsalat.ch/s3lph/package-pipeline-builder:latest
    env:
      API_REPOSITORY_DEB: ${{ secrets.API_REPOSITORY_DEB }}
      API_USERNAME: ${{ secrets.API_USERNAME }}
      API_PASSWORD: ${{ secrets.API_PASSWORD }}
      MAINTAINER: ${{ secrets.MAINTAINER }}
    steps:
      - uses: https://code.forgejo.org/actions/checkout@v4
      - run: |
          cd "${GITHUB_JOB}"
          [ -x build.sh ] && ./build.sh
          [ -x package.sh ] && fakeroot ./package.sh
          cd build
          lintian *.deb || true
          # Upload to the repo
          for file in *deb; do
            curl --user "${API_USERNAME}:${API_PASSWORD}" \
            --upload-file "${file}" \
            "${API_REPOSITORY_DEB}"
          done
  daliserver: *job
  forgejo: *job
  forgejo-runner: *job
  http-mqtt-bridge: *job
  keycloak-26: *job
  linux-diversion-ath-regd-optional: *job
  lottieconverter: *job
  matterbridge: *job
  matrix-element-web: *job
  matrix-hydrogen: *job
  matrix.to: *job
  maubot: *job
  maubot-plugin-spaceapi: *job
  maubot-plugin-ultimaker: *job
  mautrix-signal: *job
  mautrix-telegram: *job
  mediawiki-extension-auth-remoteuser: *job
  mediawiki-extension-nativesvghandler: *job
  mediawiki-extension-openidconnect: *job
  mediawiki-extension-pluggableauth: *job
  mqtt2prometheus: *job
  prometheus-ipmi-exporter: *job
  prometheus-dnsbl-exporter: *job
  prometheus2influxdb: *job
  python3-mautrix: *job
  python3-telethon: *job
  repo.s3lph.me-apt-source: *job
  republik-feeder: *job
  ydotool: *job