Commit Graph

866 Commits

Author SHA1 Message Date
Arpit Mohan
e96cbd30cd
ci: Adding fetch-depth 0 to chromatic Github workflow (#29371)
Full git history is required by the chromatic plugin to work properly &
publish the site. Hence adding `fetch-depth: 0` back into the Chromatic
workflow



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

## Summary by CodeRabbit

- **Chores**
- Updated GitHub Actions workflows to fetch the full Git history for
more accurate CI/CD operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-06 14:07:28 +05:30
Aishwarya-U-R
7f4bbf848c
ci: Run server/client tests parallel to cypress in TestBuildPush (#29320)
## 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 -->
2023-12-06 13:13:04 +05:30
Shrikant Sharat Kandula
b41cbe86b8
ci: Disable extra logging during tests 2023-12-06 06:00:46 +05:30
Shrikant Sharat Kandula
1965fec54b
ci: Disable pipefail in version calculation for client-build 2023-12-05 20:32:14 +05:30
Shrikant Sharat Kandula
c03bfc1c64
ci: Add xtrace to client-build's version calc step 2023-12-05 20:12:56 +05:30
Shrikant Sharat Kandula
6a2d529d95
ci: Remove RTS' computation of snapshot version (#29333)
RTS is already getting the version from `info.json`.


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

## Summary by CodeRabbit

- **Chores**
- Streamlined the build process by removing unnecessary versioning
steps.
- **Refactor**
  - Simplified the Docker image tagging process during builds.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-05 19:46:41 +05:30
Shrikant Sharat Kandula
160871bd31
ci: Fix version calculation in workflows (#29331)
This code is duplicated from generate_info_json.sh script, but that's
temporary. We'll be moving towards not having the version computation in
the workflows at all, and all components getting version information
from `info.json` alone. Essentially treating `info.json` as the source
of truth for this.
2023-12-05 18:50:50 +05:30
Trisha Anand
c1a7afe688
fix: Fixing client-build yaml file for yaml syntax error (#29315)
> 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


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

## Summary by CodeRabbit

- **Refactor**
- Adjusted indentation in the build workflow for improved readability
and consistency.

- **Documentation**
  - No alterations to exported entities' declarations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2023-12-05 15:01:29 +05:30
Arpit Mohan
2650ea161d
ci: Updating actions/checkout to v4 and defaulting to fetch-depth 1 instead of 0 (#29281)
<!-- 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.
2023-12-05 13:44:43 +05:30
Arpit Mohan
8c132c780f
ci: Cleaning up CI workflows from warnings and unnecessary logs (#29280)
## 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 -->
2023-12-03 14:53:15 +05:30
Arpit Mohan
58c62e0bbc
ci: Removing set-output in CI workflows as it's a deprecated command. (#29279)
Using GITHUB_OUTPUT to save environment variables instead. This is to
remove lots of warnings in the CI run and make it easier to read the
summary.
2023-12-03 12:46:56 +05:30
Arpit Mohan
08f625e754
ci: Modifying the CI workflows for ok-to-test to leverage Cypress tags (#28944)
## Description
If the user types `ok-to-test tags=Git`, Cypress should only run the
specs marked with the Git tag

Related to #28943

#### Type of change
- New feature (non-breaking change which adds functionality)

## Testing

#### How Has This Been Tested?
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress

#### 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
2023-12-01 23:13:15 +05:30
Goutham Pratapa
32b56423e1
revert gh runner to selfhosted runner (#29224) 2023-11-30 10:18:10 +05:30
Shrikant Sharat Kandula
a958a3823f
ci: Revert RTS build to default runner again 2023-11-28 14:12:45 +05:30
Goutham Pratapa
21e1117dba
Move rts build to selfhosted github actions (#29126) 2023-11-27 12:25:30 +05:30
Goutham Pratapa
e5429a8327
Update rts-build-selfhost.yml 2023-11-27 12:16:56 +05:30
Goutham Pratapa
b2af42a293
Update rts-build-selfhost.yml (#29125) 2023-11-27 12:15:17 +05:30
Goutham Pratapa
1317da164e
Update rts-build-selfhost.yml 2023-11-27 12:10:04 +05:30
Goutham Pratapa
8c6a781f64
Update rts-build-selfhost.yml (#29124) 2023-11-27 12:08:33 +05:30
Goutham Pratapa
d1bd880261
Update rts-build-selfhost.yml (#29122) 2023-11-27 11:54:47 +05:30
Goutham Pratapa
9d5f393ea5
Update rts-build-selfhost.yml 2023-11-27 11:52:41 +05:30
Goutham Pratapa
b0b8ef4667
Create rts-build-selfhost.yml (#29120) 2023-11-27 11:48:37 +05:30
Shrikant Sharat Kandula
1920d4c24c
ci: Revert RTS build to use GitHub runner 2023-11-27 09:17:44 +05:30
Shrikant Sharat Kandula
38ffbedb3a
ci: Don't overwrite RTS version, if using info.json 2023-11-26 13:21:11 +05:30
Goutham Pratapa
52a954acea
move rts build from github to self-host runners (#29099) 2023-11-24 16:56:24 +05:30
yatinappsmith
59023009d7
ci: Add retry for JUnit failures in the CI workflow (#29048)
## Checklist:
#### Dev activity
- [X] My code follows the style guidelines of this project
- [X] I have performed a self-review of my own code
- [X] I have commented my code, particularly in hard-to-understand areas
- [X] 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
- [X] 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
2023-11-23 16:44:57 +05:30
Aishwarya-U-R
84314baaf3
ci: Remove all extra slash commands yml (#29016)
## Description
- This PR removes extra slash ymls

#### Type of change
- Yml file update fix (non-breaking change which fixes an issue)

## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
2023-11-22 15:29:59 +05:30
Goutham Pratapa
dba56223f1
feat: skip-tests for rts (#29014) 2023-11-21 19:57:50 +05:30
Saroj
41cd80411f
ci: Skip flaky tests on demand (#28984)
## Description
- Skip flaky tests on demand

#### Type of change
- Dime defenders changes to accommodate the flaky spec skip on demand
- Workflow changes to control the skip flaky functionality
2023-11-21 19:08:28 +05:30
Goutham Pratapa
13134975e8
Update rts-build-self-host.yml (#28992) 2023-11-21 12:31:32 +05:30
Goutham Pratapa
5241a24eb9
test: self-hosted github runner (#28976)
Self-hosted runners:


![image](https://github.com/pratapaprasanna/appsmith/assets/15846947/5e10d428-8d4e-4d4a-819d-2b687596e8fd)
2023-11-21 12:21:01 +05:30
Abhijeet
67d7e773b9
chore: Add LaunchDarkly configs in CI run to mock feature flags (#28761)
Note: We have to create `LAUNCHDARKLY_BUSINESS_FLAGS_SERVER_KEY` secret
before merging this PR.
2023-11-16 13:00:56 +05:30
Saroj
8dab2c84e6
test: Cypress - Map chart automation (#28512)
## Description
- Map Chart Automation
#### PR fixes following issue(s)
- Added tests for Map Chart Widget
#### Type of change
- Cypress
## Testing
>
#### How Has This Been Tested?
- [x] Cypress
>
>

## Checklist:
#### QA activity:
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
2023-11-03 16:59:22 +05:30
Aishwarya-U-R
f2f35bca4c
test: Cypress | SetWidget property validations + CI Stabilize (#28456)
## 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
2023-11-03 12:27:24 +05:30
Satish Gandham
f497a4d7f8
ci: Disable perf tests on CI (#28514)
Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-10-31 19:36:04 +05:30
Goutham Pratapa
6fc7686fc6
fix: update github-release.yml (#28521) 2023-10-31 16:13:55 +05:30
Goutham Pratapa
597c91da26
fix: failing github-release pipeline (#28515)
Add Build arguements to github-release build and push pipeline
2023-10-31 15:13:34 +05:30
Shrikant Sharat Kandula
9ede02df28
ci: Remove pulling unused cache image 2023-10-19 11:08:21 +05:30
Shrikant Sharat Kandula
62018fff9d
ci: Build base image when Dockerfile changes 2023-10-19 07:15:01 +05:30
Shrikant Sharat Kandula
fe6ea46024
chore: Use Docker base images to build (#28198)
This will use the Appsmith base image which contains all the downloads
needed, so the image build in daily CI should be much more reliable, and
quite likely much faster.

All workflows have already been updated to use the BASE build argument
to set the base image.

Once this is merged, building the Docker image will fail if `BASE` build
argument is not passed. This is that the base is set explicitly
everywhere to not cause any confusion.

The deleted content has been moved to
8d34a2ac28/deploy/docker/base.dockerfile,
which builds the `base-*:*` images.
2023-10-19 06:58:16 +05:30
Shrikant Sharat Kandula
be63e1b404 ci: Add BASE build argument to all workflows 2023-10-18 19:20:55 +05:30
Aishwarya-U-R
f0f8a58140
ci: Removal of env's from Setting Cypress step (#28192)
## Description
- This PR removes the env's from Setting up Cypress step

#### Type of change
- Yml update (non-breaking change which fixes an issue)

## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI limited runs

## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
2023-10-18 18:31:35 +05:30
Shrikant Sharat Kandula
988f60e7ff
ci: Add BASE build argument for DP builds 2023-10-18 17:31:30 +05:30
Aishwarya UR
2fbe0574b9 undo typo syntax 2023-10-18 16:12:51 +05:30
Aishwarya UR
94a903b40c undo typo change 2023-10-18 16:12:06 +05:30
Aishwarya UR
23c5a976ea trial env's rmeoval from setting up Cypress step 2023-10-18 16:08:36 +05:30
Shrikant Sharat Kandula
deb55d8b21
ci: Create separate base image so daily CI can cache better and run faster (#28182)
The layers in the Dockerfile that depend on downloading large files from
external sources, doesn't have to run every day, or at every PR. We
tried using Docker's caching configuration, but it's not as reliable as
we'd have liked.

A separate base image lends us much more control over the how long we
cache the downloaded files and how often we redo this.

This PR only _adds_ the base image. It doesn't change anything in the
build of the existing Docker image. That'll happen once we have the base
images for `release` and `master` already present on DockerHub.
2023-10-18 14:17:38 +05:30
Aishwarya-U-R
885c951066
test: Cypress | CI Stabilize (#27818)
## 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
2023-10-17 20:26:24 +05:30
Satish Gandham
4ee6d20020
ci: Add perf v2 job to perf test command (#28095)
Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-10-16 09:48:30 +05:30
Abhijeet
1cda053bf3
feat: Add signature verification for tenant feature flags (#28053)
## Description
PR to add the signature verification for tenant feature flags. With this
PR we will make sure feature flags those are getting reported from CS
can't be mocked.

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/cloud-services/issues/1394

#### Type of change
- New feature (non-breaking change which adds functionality)

## Testing
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [ ] 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
- [x] 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


#### 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
2023-10-14 15:14:17 +05:30