PromucFlow_constructor/.github/workflows
Shrikant Sharat Kandula 3264ac3725
ci: Support for limited tests run from PR description (#34736)
Specify the specs we want to run, in a plain code fence, where the first
line has to exactly be `/test`. The remaining lines have to be one spec
file per line.

Like this:

```
/test
cypress/e2e/Regression/ClientSide/Fork/ForkApplication_spec.ts
cypress/e2e/Regression/ClientSide/JSLibrary/Library_spec.ts
```

1. It's not possible to run with tags and specs and the same time. This
will need a slightly larger effort. But we'll get there.
2. The status message shows spec files like they are space-separated,
and isn't very easy to read. Don't take it too seriously yet, we'll
improve.
3. Globs _should_ also work fine. The `spec` content, _almost_ directly
lands into the `--spec` argument of Cypress. See docs at
https://docs.cypress.io/guides/guides/command-line#cypress-run-spec-lt-spec-gt.
4. Multiple runners is disabled for this, have to solve it separately.
The `ci-test-limited.yml` also doesn't do multiple runners either.

<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9803353429>
> Commit: e99ae387c9a239ae51155af45977c285474cfbaf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9803353429&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: 
> Spec: cypress/e2e/Regression/ClientSide/Fork/ForkApplication_spec.ts
> cypress/e2e/Regression/ClientSide/JSLibrary/Library_spec.ts
> 
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/9803353429"
target="_blank">workflow here</a>.
> <hr>Fri, 05 Jul 2024 05:20:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

## Summary by CodeRabbit

- **Chores**
- Enhanced GitHub Actions workflows to improve test specification
handling and reporting.
- Refactored tag parsing logic in scripts for more accurate and
informative outputs.


<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 21:28:07 +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
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.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: Accept spec input for Cypress run (#34734) 2024-07-04 23:47:13 +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.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: Remove unused ads-compliant-check input 2024-05-21 11:22:32 +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 ci: Removing perf-test related jobs (#32447) 2024-04-05 14:06:23 +05:30
on-demand-build-docker-image-deploy-preview.yml ci: Add Postgres URL for DPs 2024-06-28 23:49:21 +05:30
pr-automation.yml ci: Support for limited tests run from PR description (#34736) 2024-07-08 21:28:07 +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 test: Running jest test cases if no PR is present as part of RTS build (#33790) 2024-05-28 14:33:14 +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 Make stale comment on critical issues more clear 2022-10-27 12:38:34 +05:30
test-build-docker-image.yml CI: Move slack notification after ci-test-result (#33751) 2024-05-27 18:24:59 +05:30

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