PromucFlow_constructor/.github/workflows
Sagar Khalasi d0e5085e2d
ci: Added code for PR comment results with repeat command (#35921)
## Description
**Challenge**: In our existing process, when users performed a limited
run with a specified count, the results were recorded solely in the
logs. This approach introduced an additional step, requiring users to
manually navigate through each workflow to check the results, which was
both time-consuming and prone to oversight.

**Solution**: To address this inefficiency, I took the initiative to
develop a custom npm library specifically designed to enhance the user
experience. This library automates the generation of a summary file that
consolidates the run data into a single, easily accessible document.
Furthermore, I integrated this solution into our existing workflow by
updating the process to automatically post the contents of this summary
file as a comment on the relevant PR upon completion of the run.

This improvement not only streamlines the workflow by eliminating the
need for users to manually sift through logs, but it also ensures that
critical information is immediately available at a glance. By
centralizing the results in the PR comments, we’ve enhanced transparency
and efficiency, allowing for quicker decision-making and more effective
collaboration. This solution is a step forward in optimizing our
processes and reducing the manual effort required to track and assess
test outcomes.

**Looks like this:**

<img width="993" alt="Screenshot 2024-08-28 at 11 06 37 AM"
src="https://github.com/user-attachments/assets/91a5966e-fef6-47b8-9fd8-9186012f2ab3">


Fixes #`35920`  

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10590991034>
> Commit: ef6ef69fb812ba43abba5d9d273623a914569c81
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10590991034&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 28 Aug 2024 06:19:47 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


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


- **New Features**
- Introduced a summary of Cypress test results in pull request comments
for improved visibility.
- Added functionality to upload Cypress summary logs, ensuring
availability regardless of previous test outcomes.

- **Dependency Updates**
- Updated the testing package from `cypress-repeat-updated` to
`cypress-repeat-pro`, potentially enhancing testing capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-28 11:52:37 +05:30
..
docs ci: Removing perf-test related jobs (#32447) 2024-04-05 14:06:23 +05:30
scripts ci: Support for limited tests run from PR description (#34736) 2024-07-08 21:28:07 +05:30
ad-hoc-docker-image.yml chore: Add adhoc image builder (#35791) 2024-08-20 20:50:33 +05:30
appsmithctl.yml chore: update node version and appropriate git workflows (#31486) 2024-03-26 14:12:11 +03:00
build-chromatic.yml chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
build-client-server-count.yml ci: Added code for PR comment results with repeat command (#35921) 2024-08-28 11:52:37 +05:30
build-client-server.yml ci: removed matrix for ci-test-limit (#34420) 2024-06-24 12:13:20 +05:30
build-docker-image.yml ci: Clean up disk usage before saving container to disk (#34770) 2024-07-08 17:03:02 +05:30
build-storybook.yml chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
caddy-routes-test.yml ci: Weekly schedule for Caddy route tests 2024-04-08 12:19:16 +05:30
ci-client-cyclic-deps-check.yml chore: Check for cyclic dependencies only for client file changes in a PR (#34154) 2024-06-12 08:52:21 +05:30
ci-debugging.yml chore: Update Postgres port for TED in CI (#34430) 2024-06-25 10:35:15 +05:30
ci-test-custom-script.yml ci: Updated server logs in CI (#35896) 2024-08-27 12:33:20 +05:30
ci-test-hosted.yml ci: Adding the overwrite: true parameter to actions/upload-artifact@v4 command (#33593) 2024-05-20 17:22:22 +05:30
ci-test-limited-with-count.yml ci: Added code for PR comment results with repeat command (#35921) 2024-08-28 11:52:37 +05:30
ci-test-limited.yml chore: Update Postgres port for TED in CI (#34430) 2024-06-25 10:35:15 +05:30
cleanup-dp.yml ci: Updating actions/checkout to v4 and defaulting to fetch-depth 1 instead of 0 (#29281) 2023-12-05 13:44:43 +05:30
client-build.yml CI: commented files changed step. It is a notification step (#35460) 2024-08-06 19:35:30 +05:30
client-lint.yml ci: Making minor improvements to the CI workflow files (#33636) 2024-05-23 19:47:34 +05:30
client-prettier.yml ci: Making minor improvements to the CI workflow files (#33636) 2024-05-23 19:47:34 +05:30
client-unit-tests.yml chore: update node version and appropriate git workflows (#31486) 2024-03-26 14:12:11 +03:00
close-labeler.yml ci: Upgrade GitHub Action steps to github-script@v7 and pload-artifact@v4 (#33554) 2024-05-20 10:49:27 +05:30
copy-labels.yml fix: Use the Appsmith repo for custom github actions (#12366) 2022-03-31 11:46:58 +05:30
docker-base-image.yml ci: Remove base image schedule trigger 2023-12-25 10:40:53 +05:30
duplicate-issue-detector.yml
github-release.yml ci: Adding the overwrite: true parameter to actions/upload-artifact@v4 command (#33593) 2024-05-20 17:22:22 +05:30
helm-release.yml ci: Updating actions/checkout to v4 and defaulting to fetch-depth 1 instead of 0 (#29281) 2023-12-05 13:44:43 +05:30
integration-tests-command.yml ci: Modified older ok-to-test job to redirect to the new one (#31673) 2024-03-12 10:01:44 +05:30
issue-report-config.json
mastermind-labeler.yml
ok-to-test.yml chore: Adding new command for running test case (#35419) 2024-08-05 21:04:45 +05:30
on-demand-build-docker-image-deploy-preview.yml chore: multi-arch dp image (#35098) 2024-07-22 23:10:47 +05:30
pr-automation.yml ci: Enable Cypress run for master based branches (#35897) 2024-08-27 13:19:19 +05:30
pr-cypress.yml ci: Support for limited tests run from PR description (#34736) 2024-07-08 21:28:07 +05:30
pr-labeler.yml ci: Improve the test file check workflow (#18741) 2022-12-07 14:52:43 +05:30
quality-checks.yml ci: Run server tests on pg branch (#34372) 2024-06-21 12:52:18 +05:30
README.md
release-drafter.yml chore: move local dependency to packages (#23395) 2023-05-22 15:55:46 +03:00
rts-build.yml chore: revert rts build to github runners (#35017) 2024-07-18 13:53:10 +05:30
server-build.yml ci: Don't break on very large PRs 2024-07-03 14:15:25 +05:30
server-spotless.yml ci: Upgrading the github action steps from Node 16 to Node 20. (#32004) 2024-04-01 15:41:43 +05:30
stale.yml chore: Do not mark User testing PRs as stale (#35806) 2024-08-21 14:16:07 +05:30
sync-release-to-pg.yml ci: merge release to pg (#35905) 2024-08-27 16:05:12 +05:30
test-build-docker-image.yml CI: Fixed the payload for TBD action (#35121) 2024-07-24 10:27:40 +05:30
test-storybook.yml fix: test storybook action (#35585) 2024-08-09 20:46:25 +03:00

The following list describes all the workflows that are configured to run in this repository:

  1. Build RTS Workflow
  2. Appsmith Client Build Workflow
  3. Appsmith External Integration Test Workflow
  4. Appsmith Github Release Workflow
  5. Ok To Test
  6. Appsmith Server Workflow
  7. Test, build and push Docker Image

Utility Actions

  1. Mark stale issues and pull requests
  2. Label PRs based on title
  3. Release Drafter
  4. Remove old artifacts
  5. Sync Community workflow
  6. Potential Duplicate Issues
  7. Mastermind Labeler Workflow

Build RTS Workflow

Workflow file: build-rts.yml Triggered on every commit to the rts folder. This workflow is responsible for building the RTS Node server. There are dummy steps for ui-tests and packaging. (Comment: Useless right now because it does not have ui-test-result)

Appsmith Client Build Workflow

Workflow file: client-build.yml Triggered on every commit to the client folder. This workflow is responsible for building & unit-testing the client side.

Appsmith Server Workflow

Workflow file: server.yml Triggered on every commit to the server folder. This workflow is responsible for building & unit-testing the Java server codebase.

Appsmith External Integration Test Workflow

Workflow file: external-client-test.yml Triggered only by the ok to test command dispatch. This workflow is responsible for building, unit-testing, integration testing and packaging both server and client code base. (Comment: Notably not RTS)

Appsmith Github Release Workflow

Workflow file: github-release.yml Triggered on release event on Github. This workflow is responsible for building client, server and RTS binaries and packaging them to the latest as well as the relevant release tag on Docker.

Ok To Test

Workflow file: ok-to-test.yml Triggered by PR comments. This workflow triggers a repository dispatch for the Appsmith External Integration Test Workflow.

Test, build and push Docker Image

Workflow file: test-build-docker-image.yml Triggered by PR reviews and push to release or master. This workflow is responsible for building client, server and RTS binaries and packaging them to fata container as well as the older separate containers.

Mark stale issues and pull requests

Workflow file: stale.yml

Label PRs based on title

Workflow file: pr-labeler.yml

Release Drafter

Workflow file: release-drafter.yml

Remove old artifacts

Workflow file: remove-old-artifacts.yml

Sync Community workflow

Workflow file: sync-community-repo.yml

Potential Duplicate Issues

Workflow file: duplicate-issue-detector.yml

Mastermind Labeler Workflow

Workflow file: mastermind-labeler.yml