CI: Check for valid cypress tags (#32764)
## Description
Add a check to validate PRs
Fixes #`32763`
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Integrated a new workflow step to validate tags in pull requests,
providing guidance for corrections and halting the workflow if tags are
incorrect.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
parent
17fed0a270
commit
4e6f3c599e
35
.github/workflows/pr-automation.yml
vendored
35
.github/workflows/pr-automation.yml
vendored
|
|
@ -72,6 +72,41 @@ jobs:
|
||||||
if: steps.parseTags.outputs.outcome != 'success'
|
if: steps.parseTags.outputs.outcome != 'success'
|
||||||
run: exit 1
|
run: exit 1
|
||||||
|
|
||||||
|
- name: Check Tags
|
||||||
|
env:
|
||||||
|
TAG_LIST: ${{ steps.getTags.outputs.tags }}
|
||||||
|
id: checkTags
|
||||||
|
run: |
|
||||||
|
export IFS=","
|
||||||
|
for tag in ${TAG_LIST//[[:blank:]]/}; do
|
||||||
|
if [[ `cat app/client/cypress/tags.js|grep -w $tag|wc -l` != 1 && $tag != "@tag.All" ]]; then
|
||||||
|
echo "Incorrect Tags"
|
||||||
|
echo "outcome=failure" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# In case of incorrect tags, guides towards correct tags
|
||||||
|
- name: Add test response with tags list link
|
||||||
|
if: steps.checkTags.outputs.outcome == 'failure'
|
||||||
|
uses: nefrob/pr-description@v1.1.1
|
||||||
|
with:
|
||||||
|
content: |
|
||||||
|
<!-- This is an auto-generated comment: Cypress test results -->
|
||||||
|
> [!WARNING]
|
||||||
|
> The provided command contains incorrect tags. Please modify PR body, specifying the tags you want to include or use `/ok-to-test tags="@tag.All"` to run all specs.
|
||||||
|
> Please find complete list of tags [here](https://github.com/appsmithorg/appsmith/blob/release/app/client/cypress/tags.js)
|
||||||
|
|
||||||
|
<!-- end of auto-generated comment: Cypress test results -->
|
||||||
|
regex: "<!-- This is an auto-generated comment: Cypress test results -->.*?<!-- end of auto-generated comment: Cypress test results -->"
|
||||||
|
regexFlags: ims
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
# In case of incorrect tags, exit the workflow with failure
|
||||||
|
- name: Stop the workflow run if tags are incorrect
|
||||||
|
if: steps.checkTags.outputs.outcome == 'failure'
|
||||||
|
run: exit 1
|
||||||
|
|
||||||
# In case of a run with all test cases, allocate a larger matrix
|
# In case of a run with all test cases, allocate a larger matrix
|
||||||
- name: Check if @tag.All is present in tags
|
- name: Check if @tag.All is present in tags
|
||||||
id: checkAll
|
id: checkAll
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user