summaryrefslogtreecommitdiffstats
path: root/.forgejo/workflows/backport.yml
blob: 32a93edbc0c5b3e1bdb336884cf46c94a4af17b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Copyright 2024 The Forgejo Authors
# SPDX-License-Identifier: MIT
#
# To modify this workflow:
#
#  - change pull_request_target: to  pull_request:
#    so that it runs from a pull request instead of the default branch
#
#  - push it to the wip-ci-backport branch on the forgejo repository
#    otherwise it will not have access to the secrets required to push
#    the PR
#
#  - open a pull request targetting wip-ci-backport that includes a change
#    that can be backported without conflict in v1.21 and set the
#    `backport/v1.21` label.
#
#  - once it works, open a pull request for the sake of keeping track
#    of the change even if the PR won't run it because it will use
#    whatever is in the default branch instead
#
#  - after it is merged, double check it works by setting a
#    `backport/v1.21` label on a merged pull request that can be backported
#    without conflict.
#
on:
  pull_request_target:
    types:
      - closed
      - labeled

jobs:
  backporting:
    if: >
      !startsWith(vars.ROLE, 'forgejo-') && (
        github.event.pull_request.merged
        &&
        contains(toJSON(github.event.pull_request.labels), 'backport/v')
      )
    runs-on: docker
    container:
      image: 'code.forgejo.org/oci/node:20-bookworm'
    steps:
      - name: event info
        run: |
          cat <<'EOF'
          ${{ toJSON(github) }}
          EOF
      - uses: https://code.forgejo.org/actions/git-backporting@v4.8.0
        with:
          target-branch-pattern: "^backport/(?<target>(v.*))$"
          strategy: ort
          strategy-option: find-renames
          cherry-pick-options: -x
          auth: ${{ secrets.BACKPORT_TOKEN }}
          pull-request: ${{ github.event.pull_request.url }}
          auto-no-squash: true
          enable-err-notification: true
          git-user: forgejo-backport-action
          git-email: forgejo-backport-action@noreply.codeberg.org