57 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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: 'docker.io/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
 | 
