## Description
- update node version and appropriate git workflow
- added the path to webpack cache folder, this should speed up bundle
creation about a minute
[Test, build and push Docker
Image](https://github.com/appsmithorg/appsmith/actions/runs/8421752151)
[Build Client, Server & Run only
Cypress](https://github.com/appsmithorg/appsmith/actions/runs/8421752151)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated actions/cache and actions/setup-node to v4 across various
workflows for improved caching and Node.js setup.
- Modified the `yarn install` command to use `--immutable` flag,
enhancing dependency management.
- **Documentation**
- Updated comments within workflows to include cautionary and important
notes, ensuring better clarity.
- **Refactor**
- Adjusted caching paths and keys for more efficient caching behavior.
- Changed Node.js installation to version 20.11.1 in Dockerfile,
aligning with the latest version for better performance and security.
- **Tests**
- Modified assertion in `getCurrentLocationSaga` test to check for the
presence of a property, improving test accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Aman Agarwal <aman@appsmith.com>
## Description
- This PR includes the flaky fixes of the below specs:
- jsEditor.NavigateToNewJSEditor() using TS helpers (Addressing
flakyness in specs /BugTests/JS_Bug29131_spec.ts,
BugTests/invalidLintError_Spec.ts,
ClientSide/BugTests/JS_Bug28764_Spec.ts,
/ClientSide/BugTests/Bug29566_Spec.ts,
ServerSide/JsFunctionExecution/JSFunctionExecution_spec.ts)
- /Widgets/ListV2/Listv2_onItemClick_spec.js (toast validation updated
to ts helper)
- /Apps/MongoDBShoppingCart_spec.ts (Flaky fix 2nd case)
- /Regression/Apps/PromisesApp_spec.js (1st test)
- /ClientSide/OtherUIFeatures/ApplicationURL_spec.js (whole spec for
static wait removal + flaky fixes)
- /ClientSide/Templates/Fork_Template_spec.js (complete spec fixes,
cypress exception fix)
- /Sanity/Datasources/Arango_Basic_Spec.ts (3rd test)
- /ServerSide/OnLoadTests/JSOnLoad2_Spec.ts (8th case flaky fix)
- /ClientSide/MobileResponsiveTests/AutoFillWidgets_Reflow_spec.ts (2nd
testcase, flow update)
- /ClientSide/OtherUIFeatures/Resize_spec.js (import update)
- /ClientSide/Templates/Fork_Template_spec.js (1st & 3rd for flaky fix,
removed 2nd - redundant check)
- /Git/GitSync/RepoLimitExceededErrorModal_spec.js flaky fix for EE repo
failure
- /ServerSide/ApiTests/API_Bugs_Spec.js (3rd case, removed waits, moved
to TED Api)
- /Apps/EchoApiCMS_spec.js (removed redundant action)
- /AppNavigation/Sidebar_spec.ts, /AppNavigation/TopInline_spec.ts,
/AppNavigation/TopStacked_spec.ts - added refresh calls for CI flakyness
- homePage.RenameWorkspace() & homePage.NavigateToHome() &
homePage.Signout() - removed static wait, added dynamic check
- homePage.CreateNewApplication() - removed static wait
- homePage.CreateAppInWorkspace() - removed commented code
- homePage.CreateNewWorkspace() - logic improved
- agHelper.AssertURL() - added timeout, removed static wait, calling
assertHelper.AssertDocumentReady()
- Few of agHelper methods timeout & error mesg text update
- cy.Signup() - updated validations
- agHelper.CheckForErrorToast() to agHelper.FailIfErrorToast() - method
name
- /ClientSide/BugTests/DSDiscardBugs_spec.ts - removed unnecessary
method call
#### 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 all changes were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced timeout handling across various helper methods for improved
stability.
- Streamlined interactions with UI elements using updated helper
methods.
- Adjusted test suites to utilize configuration values for consistency.
- **Tests**
- Temporarily disabled specific test suites to address current issues.
- Updated test assertions and interaction patterns for clarity and
reliability.
- Added new test cases and assertions to cover additional
functionalities.
- **Chores**
- Updated workflow variables for more efficient CI processes.
- Curated the list of limited tests to focus on critical test scenarios.
- **Documentation**
- Clarified test descriptions and intentions for better understanding.
- **Bug Fixes**
- Fixed UI element interactions to prevent test flakiness and improve
user experience.
- Implemented page refresh before application imports to ensure clean
state for tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR removed static wait from spec - API_with_List_Widget_spec
- Git/GitSync/GitSyncedApps_spec.js (fixes for EE flakyness - WIP -
still failing in chrome, pass in electron)
- Remove wait from OpenPaneAndChangeThemeColors() & added n/w check
- Upgrading Cypress from 13.3 to 13.6
- Flaky fix:
- ClientSide/Widgets/Text/Text2_Spec.ts
- ClientSide/Widgets/Select/Select2_Spec.ts
- cypress/e2e/Regression/ClientSide/JSLibrary/Library_spec.ts
- /ClientSide/Git/GitWithJSLibrary/GitwithCustomJSLibrary_spec.js
#### 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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Enhanced Git synchronization capabilities with improved user interface
interactions.
- Streamlined navigation back to the editor from deployment mode.
- Implemented more robust table loading checks to ensure data is
properly displayed.
- **Bug Fixes**
- Fixed issues with element presence assertions to improve test
reliability.
- Addressed the visibility of certain UI elements to ensure they appear
as expected.
- **Tests**
- Updated end-to-end test scripts to reflect new interactions and
assertions.
- Added a new test file `GitSyncedApps_spec.js` to cover Git-synced
applications.
- Removed outdated test file `Fork_Template_spec.js`.
- **Refactor**
- Improved method calls for querying and interacting with elements to
enhance test stability.
- Optimized wait conditions for element visibility to reduce flakiness
in tests.
- **Chores**
- Adjusted the GitHub Actions workflow for client-server build to refine
output for matrix counts.
- Updated CI test workflow to incorporate Electron setup and remove
Chrome setup steps.
- **Documentation**
- Included comments to explain the rationale behind certain timeout
values and method changes.
<!-- 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 includes [SetWidget property
validation](https://github.com/appsmithorg/TestSmith/issues/2409) script
- Identified flaky test path updation to point to Cypress dashboard
flaky test list
**Flaky fixes for below:**
- Api URL enter - added some settling time
- ClientSide/BugTests/AbortAction_Spec.ts - with new url
- ClientSide/Binding/Button_Text_WithRecaptcha_spec.js
- Updated from agHelper.SelectDropdownList to
propPane.SelectPropertiesDropDown
- /ClientSide/Widgets/Datepicker/DatePicker3_spec.ts
- /ClientSide/Widgets/ListV2/DataIdentifierProperty_spec.ts - split
- ServerSide/Postgres_DataTypes/Array_Spec.ts
- Radio/Radio2_spec.ts
- ListV2/DataIdentifier_spec.ts
- Postgres_DataTypes/UUID_Spec.ts
- Widgets/Multiselect/Multi_Select_Tree_spec.js
#### 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 tests for validating the set properties for widget across
all objects
- Covers only some scenarios from [Test
#2409](https://github.com/appsmithorg/TestSmith/issues/2409)
- Adds the failure cypress dashboard link directly in case of CI run
failures
- Flaky fix - Sanity/Datasources/SMTPDatasource_spec.js
- Cypress.on - exception & fail handling updated
- InvokeDispatchOnStore() created for logout/login Internal server
errors - trial fix for RBACFunctionalTests/OthersTabPermission_spec.js
- EditAppFromAppHover() improved to take app name also - trial fix
PropertyPane_Connections_Error_spec.js
- Flaky fix - TableV2_Property_ToggleJs_With_Binding_spec.js
- Flaky fix - Radio2_spec.ts
- Flaky fix - API_TestExecuteWithDynamicBindingInUrl_spec.ts
- Flaky fix - Button_with_API_spec.js
- AssertTableInVirtuosoList() improved to handle the DS name not present
in EE scenario also
- Flaky fix - Button_with_API_spec.js
- Flaky fix - Table_Style_ToggleJS_spec.js
- Flaky fix - Tablev2_Style_ToggleJS_spec
#### Type of change
- Script update (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
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.
>
## Description
> Add a TL;DR when description is extra long (helps content team)
>
> Please include a summary of the changes and which issue has been
fixed. Please also include relevant motivation
> and context. List any dependencies that are required for this change
>
> Links to Notion, Figma or any other documents that might be relevant
to the PR
>
>
#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### 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
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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 does below:
- Oracle - Create new table, insert data & select. tc #
[2358](https://github.com/appsmithorg/TestSmith/issues/2358) tc #
[2360](https://github.com/appsmithorg/TestSmith/issues/2358)
- Oracle - Alter the new table for 2 new columns, insert multiple rows
into table
- Oracle - Select * from table & select with condition tc #
[2359](https://github.com/appsmithorg/TestSmith/issues/2359)
- Oracle - Add table widget from Suggested widget section, Deploy the
app & verify table data load
- Oracle - Back to Editor, Delete all queries, Delete DS
- Failure fix - ClientSide/Git/GitSync/Connection_spec.js fo CI runs
#### Type of change
- Script fix + update (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 fixes the flakyness with error message in
ConnectionErrors_spec
- This PR adds validations for SMTP plugin (added documentation
verification + email sent successfully)
- Updating the Cypress Dashboard for new links
- Improve Widgets/Image/Image2_Spec.ts
- Flaky fix BugTests/Bug26716_Spec.ts
- ShowAllDatasources() added for direct navigation to Action DS list
- Fix ServerSide/GenerateCRUD/Postgres2_Spec.ts
- DeleteDatasouceFromActiveTab() improved
- Airtable - added documentation verification
- Airtable - Added widget binding & deploy App verification of Api
records data
- Datasources/MongoDatasource_spec.js - js to ts definition
- /EmbedSettings/EmbedSettings_spec.js - server restart timeout
increased
#### Type of change
- Script update (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
- Fix for comments in case ci-test failure due to other steps
- Fixed the ci-test-result issue in ci-test-limited
#### Type of change
- Workflow file
## Testing
- Workflow run
## Description
- Fix for ci-test-limit comment issue on test failure
#### PR fixes following issue(s)
#### Type of change
- Workflow 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
- Fix the result job name fir limited test workflow
- It has below improvements
-- it will skip lines starting with # or // in limited-test.txt
-- Dynamically assign the matrix count, run through command it will take
5 runners and manual workflw run will take 60 runners
-- Cypress dashboard heading
-- Some other small improvements
#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### 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
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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
---------
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
- Add command to run ci-test-limited
#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### 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
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## 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
- Added ts file check in limited workflow
#### Type of change
- Workflow file
## Testing
>
#### How Has This Been Tested?
- Workflow run
## Description
- This PR upgrades cypress from 11.2 to 12.13.0 which fixes the random
browser crash issue in CI runs
- ValidateNetworkStatus() updates to validate the n/w responses
- cy.route() to cy.intercept()
- Converting dataSources.json to HostPort.ts
- Api responses read - updating to right Cy12 supported format
- js inconsistent testJsontext to TS `EnterJSContext` in few failing
specs
- CI - higher resolution trials
- Improves _.agHelper.RefreshPage() - fixing Error: Socket closed before
finished writing response
- AssertDocumentReady() created
- within(()) & .children() - handled for Cy12
- Improved DeployApp(), NavigateBacktoEditor(), RefreshPage(), AddDsl()
methods
- js inconsistent goToEditFromPublish to TS `NavigateBacktoEditor` in
all specs
- js inconsistent PublishtheApp to TS `_.agHelper.DeployApp` in all
specs
- Convert /DynamicHeight/Text_Widget_spec.js to TS with all supporting
TS helpers
- ToggleJSMode()
- COMMIT_INFO_MESSAGE improved
- Remove tooltip on the Application Name after rename
- js inconsistent cy.addDsl(dsl); to TS helper `_.agHelper.AddDsl(val);`
- ++++ Much more improvements....
#### Type of change
- Script fixes
## Testing
#### How Has This Been Tested?
- [X] Cypress
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
---------
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>
## Description
- Allow to use existing docker image from a previous run if provided
#### Type of change
- Workflow file changes
## Testing
- Workflow run
## Description
- This PR handles the proper click of No & Yes in the confirmation
modals during a query/js object run
- Also updated the ci-test-limited.yml for Installing dependencies from
right path
- GitImport - 5th case - flakyfix
#### PR fixes following issue(s)
- Unskips the JsOnload3 spec
- JSFunctionExecution_spec.ts - flaky fix
#### Type of change
- Script update
## Testing
>
#### How Has This Been Tested?
- [X] Cypress run
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label aftee test changes were reviewed
## Description
- Added step to build docker image separately for ci-test-limited.yml
#### Type of change
- workflow file changes
#### How Has This Been Tested?
- Manual
## Description
- Added workflow to build client and server without running tests
#### Type of change
- Added workflow file
#### How Has This Been Tested?
- Manual