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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3

      - name: Set up Python
        uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548
        with:
          cache: pip
          cache-dependency-path: |
            requirements/build.txt
            requirements/runtime.txt
          check-latest: true
          python-version: '3.14'

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          python -m pip install -r requirements/build.txt
          python -m pip install -r requirements/runtime.txt

      - name: Generate snapshots
        run: |
          make snapshot

      - uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
        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 }}
