Backport of added a backport-checker GitHub action into release/1.15.x (#16584)

* backport of commit 15c255a2e8

* backport of commit 49b5184871

---------

Co-authored-by: Michael Wilkerson <mwilkerson@hashicorp.com>
Co-authored-by: Michael Wilkerson <62034708+wilkermichael@users.noreply.github.com>
pull/16594/head
hc-github-team-consul-core 2023-03-09 14:40:18 -06:00 committed by GitHub
parent bf7dc8d3e2
commit 57ad7e059e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 32 additions and 0 deletions

32
.github/workflows/backport-checker.yml vendored Normal file
View File

@ -0,0 +1,32 @@
# This workflow checks that there is either a 'pr/no-backport' label applied to a PR
# or there is a backport/* label indicating a backport has been set
name: Backport Checker
on:
pull_request:
types: [opened, synchronize, labeled]
# Runs on PRs to main and all release branches
branches:
- main
- release/*
jobs:
# checks that a backport label is present for a PR
backport-check:
# If there's a `pr/no-backport` label we ignore this check. Also, we ignore PRs created by the bot assigned to `backport-assistant`
if: "! ( contains(github.event.pull_request.labels.*.name, 'pr/no-backport') || github.event.pull_request.user.login == 'hc-github-team-consul-core' )"
runs-on: ubuntu-latest
steps:
- name: Check for Backport Label
run: |
labels="${{join(github.event.pull_request.labels.*.name, ', ') }}"
if [[ "$labels" =~ .*"backport/".* ]]; then
echo "Found backport label!"
exit 0
fi
# Fail status check when no backport label was found on the PR
echo "Did not find a backport label matching the pattern 'backport/*' and the 'pr/no-backport' label was not applied. Reference - https://github.com/hashicorp/consul/pull/16567"
exit 1