## 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 --> |
||
|---|---|---|
| .. | ||
| docs | ||
| scripts | ||
| ad-hoc-docker-image.yml | ||
| appsmithctl.yml | ||
| build-chromatic.yml | ||
| build-client-server-count.yml | ||
| build-client-server.yml | ||
| build-docker-image.yml | ||
| build-storybook.yml | ||
| caddy-routes-test.yml | ||
| ci-client-cyclic-deps-check.yml | ||
| ci-debugging.yml | ||
| ci-test-custom-script.yml | ||
| ci-test-hosted.yml | ||
| ci-test-limited-with-count.yml | ||
| ci-test-limited.yml | ||
| cleanup-dp.yml | ||
| client-build.yml | ||
| client-lint.yml | ||
| client-prettier.yml | ||
| client-unit-tests.yml | ||
| close-labeler.yml | ||
| copy-labels.yml | ||
| docker-base-image.yml | ||
| duplicate-issue-detector.yml | ||
| github-release.yml | ||
| helm-release.yml | ||
| integration-tests-command.yml | ||
| issue-report-config.json | ||
| mastermind-labeler.yml | ||
| ok-to-test.yml | ||
| on-demand-build-docker-image-deploy-preview.yml | ||
| pr-automation.yml | ||
| pr-cypress.yml | ||
| pr-labeler.yml | ||
| quality-checks.yml | ||
| README.md | ||
| release-drafter.yml | ||
| rts-build.yml | ||
| server-build.yml | ||
| server-spotless.yml | ||
| stale.yml | ||
| sync-release-to-pg.yml | ||
| test-build-docker-image.yml | ||
| test-storybook.yml | ||
The following list describes all the workflows that are configured to run in this repository:
Release process related Actions
- Build RTS Workflow
- Appsmith Client Build Workflow
- Appsmith External Integration Test Workflow
- Appsmith Github Release Workflow
- Ok To Test
- Appsmith Server Workflow
- Test, build and push Docker Image
Utility Actions
- Mark stale issues and pull requests
- Label PRs based on title
- Release Drafter
- Remove old artifacts
- Sync Community workflow
- Potential Duplicate Issues
- 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