Fixing minor syntax issues when notifying on Slack on failure of the Test build Docker workflow.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Improved Slack notification messages by adjusting link formatting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Scheduled TBP workflow to run 4 times a day with 3hrs interval
- Made changes in TBP workflow to run all the steps only while running
with schedule or manual workflow trigger
- Added condition to run ci-test and ci-test-result only during schedule
or manual workflow run.
#### Type of change
- Workflow changes
## Testing
>
#### How Has This Been Tested?
- [x] CI Run
>
>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated the workflow schedule for Docker image build tests to run at
new times: 7:00 AM, 10:00 AM, 1:00 PM, and 4:00 PM IST on weekdays.
- Modified conditional triggers in the CI pipeline to exclude jobs from
running on push events.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> Added client-unit-tests, server-unit-tests in package-master step
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
> running tbp on the branch
#### How Has This Been Tested?
- [ ] TBP run
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated the build process to require both client and server unit tests
to pass before packaging.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Added logic to handle the runner count based on the tags
#### Type of change
- Workflow files
## Testing
- Workflow run
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a `tag-check` job to validate the presence of tags in
workflow commands.
- Workflows now comment on PRs with documentation links for tags when
tags are missing.
- **Enhancements**
- Enhanced CI workflows to conditionally run jobs based on tag presence.
- Added matrix inputs to improve job configuration flexibility.
- **Documentation**
- Added comments to PRs with links to workflow runs when tags are
specified.
- **Refactor**
- Centralized tag and matrix setup across multiple workflows for
consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> Added schedule event name in package-release and master steps to run
those on scheduled cron
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
> running tbp manually in the branch
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated workflow to trigger certain job steps on a scheduled basis.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Skipping TBD for every push on release branch
- TBD will run once a day on the scheduled cron
- People can still run TBD on-demand
#### Type of change
- Workflow Change
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated the CI/CD workflow to trigger Docker image builds on pushes to
the "master" branch instead of the "release" branch.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> Added a cron job for the TBP workflow to run at 6 am on weekdays-
Daily Promotion analysis purpose
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
- To check if the workflow is triggered as expected
#### How Has This Been Tested?
- [x] Manual
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
## Description
- This PR makes changes to run the Client & Server unit tests in
parallel to Cypress for TBP workflow
- Removes invalid input restore-keys, adding cache-hit
- Remove save cache from /workflows/client-unit-tests.yml
- Making ci-test, client-unit-tests, server-unit-tests mandatory for
ci-test-result
#### Type of change
- Yml file update (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- TBP workflow run
## Checklist:
#### QA activity:
- [ ] Added `Test Plan Approved` label after workflow run & tests were
identified to run parallel to cypress
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated GitHub Actions workflows to use the latest version of
`actions/checkout`.
- Improved CI/CD pipeline by adding conditional job definitions for
server and client unit tests.
- Enhanced workflow logic to differentiate between pull request and
branch push triggers for more accurate code checkouts.
- Streamlined caching strategy by removing `restore-keys` configuration
for better dependency management during builds.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated GitHub Actions workflows to use `actions/checkout@v4` for
improved performance and reliability.
- Removed `fetch-depth` parameter to simplify checkout steps across
various workflows.
- Standardized quote usage for consistency in workflow files.
- **Documentation**
- Adjusted formatting and descriptions in workflow files for better
clarity and readability.
- **Refactor**
- Aligned multiple workflow files to follow a consistent structure and
naming convention.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fetch-depth 0 causes the Github workflow to checkout the entire Git
history. This is not required. We only need to check out the head of the
commit. By default, actions/checkout has fetch-depth=1, hence removing
it from the workflow completely for simplicity.
## Summary by CodeRabbit
- **Chores**
- Updated `umani/changed-files` action to v4.1.0 across various workflow
files.
- Updated `peter-evans/create-or-update-comment` action to v3 in
multiple workflow files.
- Minor adjustments to workflow syntax for consistency and accuracy.
- **Documentation**
- Corrected URLs in Slack notification messages to ensure accuracy.
- **Refactor**
- Removed redundant job configurations and steps related to caching and
storing run results.
- Streamlined environment variable usage by sourcing values from
secrets.
- **Style**
- Standardized quote usage in workflow files for file matching patterns.
- **Bug Fixes**
- Fixed URLs in echo statements within `test-build-docker-image.yml` to
point to the correct "cypress-dashboard" path segment.
- Updated `slack_color` and `slack_icon` values to better reflect
success and failure states in notifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR does below:
- Reverting hosted run slack notif since no new_failed_spec is set (to
set & then fix this)
- Push notif slack msg trial fix
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR adds Oracle validations
- 'Add more' validated from Oracle Ds page
- Tc's automated Tc
[#2204](https://github.com/appsmithorg/TestSmith/issues/2204)
- Added a bit of sleep for keyboard actions (Enter, Escape, Delete)
- Added default param for datasources._host
- Oracle documentation verification added
- get cypress url dashboard url - step commented in ymls, as its no more
used
- Updating Slack message to also display the failing specs in notif
- ElasticSearch spec - update to check hosted run
- ServerSide/GenerateCRUD/MySQL2_Spec.ts - EntityExplore ds name miss
fix
- Update waitForServerRestart() timeout
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- Update ce push workflow to use dime defenders
#### Type of change
- Workflow changes
## Testing
>
#### How Has This Been Tested?
- [ ] Workflow run
>
>
When running Appsmith release image, it's currently using production CS,
which is causing a lot of incompatibility related errors since `release`
moves much faster than prod.
This changes this. Note that for `:latest` and `:nightly` images, we do
NOT change this default. There's no change for Docker images with those
tags. We _only_ want change `:release` image, DP images, and images
built for Cypress runs.
## Description
- Fix to use cypress dashboard for ci test
#### Type of change
- Workflow file changes
## Testing
>
#### How Has This Been Tested?
- workflow run
## Description
- Fix comment issue in PR for failed specs
#### Type of change
- Workflow file changes
## Testing
>
#### How Has This Been Tested?
- Workflow run
## Description
- This PR fixes the below flaky tests:
- cy.visit timeout handled - response timeout increased
- ElasticSearch container - taking time to start in EE run - increasing
timeout
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes are reviewed
## Description
1. Move everything related to client from app folder to client folder
(`.yarn`, `yarn.lock`, package.json, .gitignore)
2. Move `ast` and `rst` to client packages
3. Fix running scripts in packages
4. Add running unit tests in packages in CI
TODO: It is necessary to consider enabling the `nmHoistingLimits:
workspaces` option, since now all packages are hoisted to the root,
there may be issues with dependencies in workspaces. Also, there is a
possibility of implicit use of packages.
https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits
#### PR fixes following issue(s)
Fixes#23333
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
#### How Has This Been Tested?
- [x] Manual
- [x] Jest
- [x] Cypress
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
GitHub's Variables, unlike Secrets, don't get masked in the output, and
are ideal for non-secret... _variables_. I'm switching on such secret
here, and depending on our experience with this, we'll look to moving
more.
Of course, goes without saying, do NOT use these variables for secrets.
When in doubt, use Secrets.
[Learn more about
Variables](https://docs.github.com/en/actions/learn-github-actions/variables).
## Description
- Upload an empty failed-spec-ci file if all the specs are passed
## Type of change
- YML file changes
## How Has This Been Tested?
- github actions
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Fix for combined-failed-spec-ci cache not found issue
## Type of change
- YML file changes
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Updated the workflow files to use actions/cache@v3
## Type of change
- yml file changes
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Reverting the use of combined-failed-spec-ci artifact instead of cache
## Type of change
- yml file changes
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Deleting the combined-failed-spec-ci in ci-test-result
## Type of change
- Yml file changes
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Deleting the failed-spec-ci once it is downloaded in ci-test-result to
avoid getting specs from older runs
## Type of change
- yml file changes
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Removed the artifact deleting as we need the artifact in case of rerun
on cancel
## Type of change
- Workflow yml files
## How Has This Been Tested?
- Manual
## Checklist:
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
The RTS slim image isn't used, at all. The `appsmith-ce` and
`appsmith-ee` images run RTS inside of them, and the slim container
setup doesn't support RTS at all.