name: Update snapshots

on:
  push:
    branches:
      - dev
  workflow_dispatch:

jobs:
  update-snapshots:
    name: Update snapshots
    if: github.repository == 'vacanza/holidays'
    permissions:
      contents: write
      pull-requests: write
    runs-on: ubuntu-24.04
    steps:
      - name: Check out repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

      - name: Install uv
        uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b
        with:
          python-version: '3.14'
          version: '0.9.16'

      - name: Install Python
        run: uv python install "$UV_PYTHON"

      - name: Install dependencies
        run: uv sync --frozen --no-dev --group build

      - name: Generate snapshots
        run: make snapshot

      - uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
        with:
          base: dev
          body: Automatically generated snapshots update.
          branch: update-snapshots
          commit-message: 'Update snapshots [skip ci]'
          committer: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
          delete-branch: true
          title: 'chore: Update snapshots'
          token: ${{ github.token }}
