This is to make it apparent what TED tag was used to run a workflow, so
that runs that happened with an unstable (non `latest`) tag of TED
aren't taken seriously.
Change TBP Schedule
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Modified the schedule for running the workflow to trigger every 6
hours instead of every 3 hours on weekdays.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
This is a maintenance fix that removes the warnings in our CI runs to
make it more readable.
Refer:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8386795331>
> Commit: `2b1bfe7ed505ad9ba67bfe9211d50ebabb8ea0ce`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8386795331&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated DockerHub login action across multiple workflows to version 3
for enhanced security and performance.
- Updated various GitHub Actions to newer versions in different
workflows for improved compatibility and performance.
- Modified file path pattern in a workflow step for consistency and
clarity.
- Updated setup actions for Java to version 4 for better Java
environment setup.
- Updated setup-node version in a workflow and adjusted comments for
Cypress test results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
With this, we should be able to set the image tag (`latest` or `nightly`
for example), to be used for the TED run for Cypress tests.
Unless we already have a different method to run Cypress with nightly
TED, this should give us that flexibility.
## Description
#### PR fixes following issue(s)
Fixes # (issue number)
#### Media
#### Type of change
- New feature (non-breaking change which adds functionality)
## Testing
#### How Has This Been Tested?
- [X] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
#### Test Plan
## 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**
- Introduced a new step in the CI/CD pipeline to trigger an automated
analysis workflow.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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