f82840f1ea
When the CI vars.ROLE is forgejo-coding, it is assumed to be the repository where collaborative coding happens, i.e. https://codeberg.org/forgejo/forgejo When the CI vars.ROLE is forgejo-testing, it is assumed that only codebase testing is to be run and no other tests such as release build integration, label constraints, backporting etc.
59 lines
1.9 KiB
YAML
59 lines
1.9 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: >
|
|
( vars.ROLE == 'forgejo-coding' ) && (
|
|
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.4
|
|
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
|