-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into chore/alert-documentation-redirect-tests
- Loading branch information
Showing
401 changed files
with
27,504 additions
and
7,046 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
name: "Update PR labels and Block PR until related docs are shipped for the feature" | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- develop | ||
types: [opened, edited, labeled, unlabeled] | ||
|
||
permissions: | ||
pull-requests: write | ||
contents: read | ||
|
||
jobs: | ||
docs_label_check: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check PR Title and Manage Labels | ||
uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
const prTitle = context.payload.pull_request.title; | ||
const prNumber = context.payload.pull_request.number; | ||
const owner = context.repo.owner; | ||
const repo = context.repo.repo; | ||
// Fetch the current PR details to get labels | ||
const pr = await github.rest.pulls.get({ | ||
owner, | ||
repo, | ||
pull_number: prNumber | ||
}); | ||
const labels = pr.data.labels.map(label => label.name); | ||
if (prTitle.startsWith('feat:')) { | ||
const hasDocsRequired = labels.includes('docs required'); | ||
const hasDocsShipped = labels.includes('docs shipped'); | ||
const hasDocsNotRequired = labels.includes('docs not required'); | ||
// If "docs not required" is present, skip the checks | ||
if (hasDocsNotRequired && !hasDocsRequired) { | ||
console.log("Skipping checks due to 'docs not required' label."); | ||
return; // Exit the script early | ||
} | ||
// If "docs shipped" is present, remove "docs required" if it exists | ||
if (hasDocsShipped && hasDocsRequired) { | ||
await github.rest.issues.removeLabel({ | ||
owner, | ||
repo, | ||
issue_number: prNumber, | ||
name: 'docs required' | ||
}); | ||
console.log("Removed 'docs required' label."); | ||
} | ||
// Add "docs required" label if neither "docs shipped" nor "docs required" are present | ||
if (!hasDocsRequired && !hasDocsShipped) { | ||
await github.rest.issues.addLabels({ | ||
owner, | ||
repo, | ||
issue_number: prNumber, | ||
labels: ['docs required'] | ||
}); | ||
console.log("Added 'docs required' label."); | ||
} | ||
} | ||
// Fetch the updated labels after any changes | ||
const updatedPr = await github.rest.pulls.get({ | ||
owner, | ||
repo, | ||
pull_number: prNumber | ||
}); | ||
const updatedLabels = updatedPr.data.labels.map(label => label.name); | ||
const updatedHasDocsRequired = updatedLabels.includes('docs required'); | ||
const updatedHasDocsShipped = updatedLabels.includes('docs shipped'); | ||
// Block PR if "docs required" is still present and "docs shipped" is missing | ||
if (updatedHasDocsRequired && !updatedHasDocsShipped) { | ||
core.setFailed("This PR requires documentation. Please remove the 'docs required' label and add the 'docs shipped' label to proceed."); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.