name: Backport on: pull_request_target: types: [closed, labeled] permissions: contents: read jobs: backport: name: Backport Pull Request permissions: # for korthout/backport-action contents: write pull-requests: write if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name)) runs-on: ubuntu-24.04-arm steps: - name: Generate GitHub App token id: generate-token uses: actions/create-github-app-token@v2 with: app-id: ${{ vars.CI_APP_ID }} private-key: ${{ secrets.CI_APP_PRIVATE_KEY }} - uses: actions/checkout@v5 with: ref: ${{ github.event.pull_request.head.sha }} # required to find all branches fetch-depth: 0 - name: Create backport PRs uses: korthout/backport-action@d07416681cab29bf2661702f925f020aaa962997 # v3.4.1 id: backport with: # Config README: https://github.com/korthout/backport-action#backport-action github_token: ${{ steps.generate-token.outputs.token }} github_workspace: ${{ github.workspace }} auto_merge_enabled: true pull_description: |- Automatic backport to `${target_branch}`, triggered by a label in #${pull_number}.