Commit Graph

11 Commits

Author SHA1 Message Date
Shrikant Sharat Kandula
e0cfe80693
ci: Add UTC time to Cypress messages (#34727)
**/test rating**


![shot-2024-07-04-14-56-26](https://github.com/appsmithorg/appsmith/assets/120119/485c06c7-4adb-419d-b4da-3e999b87f3e8)




<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9796447291>
> Commit: 456128bd61a357ada1b3e2cd3937a0ff47d89c26
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9796447291&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Rating`
> <hr>Thu, 04 Jul 2024 15:11:09 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Added the current date and time in UTC to the status messages
generated by the Cypress script.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 04:26:06 +05:30
Shrikant Sharat Kandula
33e04b5e11
ci: Fix method used to set failure (#34402)
And use script to update PR description with Cypress status

## Summary by CodeRabbit

- **Enhancements**
- Improved GitHub Actions workflows for PR automation and Cypress tests.
- Enhanced test failure messages with links to Cypress dashboard and
flaky test identification.

- **User Experience**
- Cypress test status messages now include emoji prefixes for "tip"
(green) and "caution" (red) alerts.

- **Bug Fixes**
- Corrected error handling in scripts to provide more accurate failure
statuses.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 12:58:42 +05:30
Shrikant Sharat Kandula
5eada0aaed
ci: Fix Cypress test fail not reported for /test command (#34278)
Gets common validation code for tags, for both `/ok-to-test` and `/test`
commands. Currently, for invalid tags in `/test` command, we aren't
updating the PR description with details of the tag parsing failure.
This PR fixes that, after finally bringing all the logic into Javascript
needed to solve this.

**/test sanity**



<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9715326227>
> Commit: 260ec1888db114ae710b518abf36c54c6bfd2a9b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9715326227&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``

<!-- end of auto-generated comment: Cypress test results  -->






<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated GitHub Actions workflow to trigger on 'release' and 'pg'
branches for 'ok-to-test' labeled PRs.
  - Simplified tag parsing and validation logic in automation scripts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 23:32:56 +05:30
Shrikant Sharat Kandula
32147ddfdb
ci: Write Cypress status with the GitHub Script (#34559)
Replacing more of `nefrob/pr-description@v1.1.2` with our GitHub Script.
This is moving towards Javascript CI, and hopefully an unit-testable CI.




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Replaced `nefrob/pr-description` action with `actions/github-script`
for handling test responses in PR automation.
- Improved guidance on modifying PR body for correct tag usage and
linked to relevant documentation.
- Enhanced script content to handle warnings and failures more
effectively in PR workflow automation.

- **New Features**
- Updated the `write-cypress-status` script to support different alert
types and prefixes, ensuring better validation and formatting of alerts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 23:32:30 +05:30
Shrikant Sharat Kandula
9c16e4f365
ci: Do case-insensitive tag matches (#34481)
Specifying the `/test` command like this:

```
/test IDE
```

Doesn't pick up the `@tag.IDE` tag, but using `/test ide` does. This is
because of incorrect case-matching logic. This PR fixes this.





<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
  - Enhanced case-insensitivity for tag matching to reduce errors.
- Improved error messaging for unmatched tags to provide clearer
feedback.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 13:17:42 +05:30
Shrikant Sharat Kandula
4a6dc86a60
ci: Update PR description with GitHub Script (#34292)
This PR switches the steps updating PR description to a local Javascript
script, run using `actions/github-script`, instead of depending on an
external third-party action.

Why? Besides reducing our dependency on third-party actions, which have
been found to break with surprises, we need this to fix a bug with the
`/test` command. The `/test` command, when is written with invalid tags,
reports the error in the workflow run, but doesn't update the PR
description. Because of how it's written in Javascript, we need a
Javascript way to update the description to fix that. This will provide
for that.

Further PRs will replace other uses of PR description update steps with
this.

**/test sanity**



<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9556890596>
> Commit: 00d06858f6f7d14c6393cb16c894ddfd808b7cf8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9556890596&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated GitHub Actions workflow to enhance pull request automation
with Cypress test results.
  - Improved PR body updates with detailed test outcomes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-18 09:39:50 +05:30
Shrikant Sharat Kandula
8f3b60cd9c
ci: Fix regex for all tag when bolded 2024-05-27 17:34:51 +05:30
Shrikant Sharat Kandula
2f45dd3dd0
ci: Support for "all" tag in /test and allow bold (#33733)
**/test all**


![shot-2024-05-26-12-15-35](https://github.com/appsmithorg/appsmith/assets/120119/70df30de-bcdf-4861-9495-ed83288a8f83)


<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9243140883>
> Commit: abf3814fd6bfa308353d1042e5df2ef75e02fd0a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9243140883&attempt=1"
target="_blank">Click here!</a>
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check workflow <a
href="https://github.com/appsmithorg/appsmith/actions/runs/9243140883"
target="_blank">here.</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-27 09:49:27 +05:30
Shrikant Sharat Kandula
e9102d5085 ci: Get PR number from env variable 2024-05-20 20:47:15 +05:30
Shrikant Sharat Kandula
2459607a3f
ci: Move check for new JS Cypress tests to GitHub script (#33560)
We have a check when running Cypress tests to ensure that no new `.js`
files are added under Cypress folder. This PR moves this check to a
separate JS file. There's another check that does some ADS compliance,
which I'll port in a follow-up PR.

Why am I hitting on this? One, to move away from `umani/changed-files`
workflow, which has randomly failed for us in the past, and id doesn't
do so much special for us anyway. Two, this workflow is the last usage
of `APPSMITH_CI_TEST_PAT` secret, so I should be able to remove that
secret as well. One less secret.
2024-05-20 20:39:33 +05:30
Shrikant Sharat Kandula
cb973941d5
ci: Add sloppy /test command (#33558)
Adds support for a `/test` command, without breaking the existing
`/ok-to-test` habits.

This is a _sloppy_ version of `/ok-to-test`. Turns out humans are
sloppy. So let's embrace the human. 🤯

Example incantation:
```
/test sanity workflow
```

The sloppy parser at work:

![shot-2024-05-18-03-40-30](https://github.com/appsmithorg/appsmith/assets/120119/0d495e88-a242-4f2b-a73c-bcf6e58cc9ad)

Of course, if a PR body contains `/ok-to-test`, that takes precedence,
and any `/test` is ignored.

We're also moving the logic of parsing the tags to a separate Javascript
file. It's still not in a form that's easily testable, perhaps, but I
hope this is a start for us to get to a "unit-tested CI". ❤️

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-05-20 15:26:12 +05:30