mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 11:10:40 +00:00
After merging https://github.com/scylladb/scylladb/pull/17365, all backport labels should be added to PR (before we used to add backport labels to the issues). Adding a GitHub action which will be triggered in the following conditions only: 1) The base branch is `master` or `next` 2) Pull request events: - opened: For every new PR that someone opens, we will sync all labels from the linked issue (if available) - labeled: This role only applies to labels with the `backport/` prefix. When we add a new label for the backport we will update the relevant issue or PR to get them both to sync - unlabeled: Same as `labeled` only applies to the `backport/` prefix. When we remove a label for backport we will update the relevant issue or pr Closes scylladb/scylladb#17715
42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
name: Sync labels
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, labeled, unlabeled]
|
|
branches: [master, next]
|
|
issues:
|
|
types: [labeled, unlabeled]
|
|
|
|
jobs:
|
|
label-sync:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
pull-requests: write
|
|
issues: write
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0 # Fetch all history for all tags and branches
|
|
|
|
- name: Install dependencies
|
|
run: sudo apt-get install -y python3-github
|
|
|
|
- name: Pull request opened event
|
|
if: github.event.action == 'opened'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: python .github/scripts/sync_labels.py --repo ${{ github.repository }} --number ${{ github.event.number }} --action ${{ github.event.action }}
|
|
|
|
- name: Pull request labeled or unlabeled event
|
|
if: github.event_name == 'pull_request' && startsWith(github.event.label.name, 'backport')
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: python .github/scripts/sync_labels.py --repo ${{ github.repository }} --number ${{ github.event.number }} --action ${{ github.event.action }} --label ${{ github.event.label.name }}
|
|
|
|
- name: Issue labeled or unlabeled event
|
|
if: github.event_name == 'issues' && startsWith(github.event.label.name, 'backport')
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: python .github/scripts/sync_labels.py --repo ${{ github.repository }} --number ${{ github.event.issue.number }} --action ${{ github.event.action }} --is_issue --label ${{ github.event.label.name }}
|