name: Build Packages

on:
  push:
    branches: [master]
  workflow_dispatch:
  schedule:
    - cron: "0 0 * * 1"

permissions:
  contents: write

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: archlinux:latest

    steps:
    - uses: actions/checkout@v4

    - name: Install deps
      run: |
        pacman -Syu --noconfirm --needed \
          python-yaml \
          git \
          sudo \
          base-devel \
          debugedit

    - name: Create builder user
      run: |
        useradd -m builder
        echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

    - name: Build packages
      run: python build-packages.py

    - name: Set up repo
      run: |
        mkdir -p repo/antergos-pkgs/os/x86_64
        cp /tmp/pkgout/*.pkg.tar.zst repo/antergos-pkgs/os/x86_64/

    - name: Generate repo database
      run: |
        cd repo/antergos-pkgs/os/x86_64
        repo-add antergos-pkgs.db.tar.gz *.pkg.tar.zst

    - name: Copy to root for flat-URL compat
      run: |
        cp repo/antergos-pkgs/os/x86_64/*.pkg.tar.zst repo/
        cp repo/antergos-pkgs/os/x86_64/antergos-pkgs.db* repo/

    - name: Generate index and package list
      run: python generate-index.py

    - name: Deploy to Pages
      uses: peaceiris/actions-gh-pages@v3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: ./repo
        keep_files: false
