# A workflow that deletes branches of closed PRs

name: Delete old branches

on:
  schedule:
    # Run daily.
    - cron: 30 1 * * *
  workflow_dispatch:

concurrency:
  group: delete-old-branches
  cancel-in-progress: true

permissions:
  contents: write

jobs:
  delete:
    if: ${{ github.repository == 'pytorch/pytorch' }}
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          fetch-depth: 0

      - name: Setup Python
        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
        with:
          python-version: '3.11'
          architecture: x64
          check-latest: false

      - name: Delete old branches
        run: python .github/scripts/delete_old_branches.py
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
