name: Update

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./.actions/init
        with:
          token: "${{ secrets.CACHIX_AUTH_TOKEN }}"

      # https://github.com/actions/checkout/issues/13
      - name: Set git config
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

      - run: nix run .#update

      - name: Create pull request
        id: cpr
        uses: peter-evans/create-pull-request@v7
        with:
          branch: update
          title: update
          body: automatic update

      - name: Enable automerge
        run: gh pr merge --merge --auto "${{ steps.cpr.outputs.pull-request-number }}"
        env:
          GH_TOKEN: ${{ secrets.PAT }}
