From d4563b8693c97d8f882270ab9985333ddc4a54c2 Mon Sep 17 00:00:00 2001 From: pablonyx Date: Sun, 19 Jan 2025 19:48:22 -0800 Subject: [PATCH] Add linear check to PRs (#3708) * add linear check * Update pull_request_template.md --- .github/pull_request_template.md | 7 +++++-- .github/workflows/pr-linear-check.yml | 29 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/pr-linear-check.yml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 102bfcd7513..d580d40c9a0 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,14 @@ ## Description -[Provide a brief description of the changes in this PR] +[Provide a brief description of the changes in this PR] ## How Has This Been Tested? -[Describe the tests you ran to verify your changes] +[Describe the tests you ran to verify your changes] ## Backporting (check the box to trigger backport action) + Note: You have to check that the action passes, otherwise resolve the conflicts manually and tag the patches. + - [ ] This PR should be backported (make sure to check that the backport attempt succeeds) +- [ ] [Optional] Override Linear Check diff --git a/.github/workflows/pr-linear-check.yml b/.github/workflows/pr-linear-check.yml new file mode 100644 index 00000000000..ac25b2e072e --- /dev/null +++ b/.github/workflows/pr-linear-check.yml @@ -0,0 +1,29 @@ +name: Ensure PR references Linear + +on: + pull_request: + types: [opened, edited, reopened, synchronize] + +jobs: + linear-check: + runs-on: ubuntu-latest + steps: + - name: Check PR body for Linear link or override + run: | + PR_BODY="${{ github.event.pull_request.body }}" + + # Looking for "https://linear.app" in the body + if echo "$PR_BODY" | grep -qE "https://linear\.app"; then + echo "Found a Linear link. Check passed." + exit 0 + fi + + # Looking for a checked override: "[x] Override Linear Check" + if echo "$PR_BODY" | grep -q "\[x\].*Override Linear Check"; then + echo "Override box is checked. Check passed." + exit 0 + fi + + # Otherwise, fail the run + echo "No Linear link or override found in the PR description." + exit 1