Commit Graph

79 Commits

Author SHA1 Message Date
yatinappsmith
e484705aa2
CI : fix build cache (#37712)
## Description
fix build cache

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`


## Automation

/ok-to-test tags=""

### 🔍 Cypress test results



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


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

## Summary by CodeRabbit

- **New Features**
- Enhanced client build workflow with a new input parameter for branch
specification.
	- Added support for PostgreSQL builds in the server build workflow.
  
- **Improvements**
- Improved caching mechanisms for both client and server builds to
optimize build times.
- Enhanced test execution logic to provide detailed reports on failed
tests.

- **Bug Fixes**
- Streamlined conditions for running builds and tests based on previous
execution states.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 16:03:31 +05:30
yatinappsmith
b3c35e9e68
CI: commented files changed step. It is a notification step (#35460)
commented files changed step. It is a notification step

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

## Summary by CodeRabbit

- **Chores**
- Modified the GitHub Actions workflow to simplify job flow by
commenting out the command execution for changes in the client folder,
effectively disabling that functionality.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-06 19:35:30 +05:30
Vemparala Surya Vamsi
d780ecba45
chore: reverted client profiled build (#35306)
## Description
Reverted client profiled build script, we will instead generate a docker
custom image.


Fixes https://github.com/appsmithorg/appsmith/issues/35184

> [!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  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10177617441>
> Commit: 3ff5d304aacb08cabb529b6553b2319d688000ff
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10177617441&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 31 Jul 2024 09:52:14 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


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


- **Bug Fixes**
- Removed the dependency on the `APPSMITH_CLOUD_HOSTING` environment
variable during the build process, streamlining the workflow and build
script.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-31 15:23:08 +05:30
Vemparala Surya Vamsi
08fda97074
chore: injecting env value into client build script (#35288)
## Description
The `APPSMITH_CLOUD_HOSTING` env value is not accessible within the
client build script, we are fixing it by injecting it in the client
build workflow.

Fixes #35184
> [!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  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10161480342>
> Commit: 443c4ab7a6a08332efec5b7fd91927eeaf4e9707
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10161480342&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 30 Jul 2024 11:57:03 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


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

## Summary by CodeRabbit

- **Chores**
- Enhanced visibility of environment variables during the build process
with a debug echo statement.
- Introduced the `APPSMITH_CLOUD_HOSTING` environment variable in the
GitHub Actions workflow, improving configurability for various
deployment scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-30 17:34:55 +05:30
Rajat Agrawal
d1a586e0bb
ci: Add pre push hook to not allow ee changes in ce (#35276)
## Description
This PR fixes failure in the CI build workflow. The workflow was failing
in `Put release build in cache` job. The workflow was failing because
while installing git lfs, there was a conflict with the newly added pre
push hook. git lfs also contains its pre push hooks which was
conflicting with our hooks. In this PR, I have configured the workflow
for git lfs pre push hooks to override appsmith pre push commit since
appsmith git hooks are not required during workflows.


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!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=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


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

- **New Features**
- Introduced a pre-push hook to ensure integrity by preventing
inadvertent pushes of certain files to the repository.
  
- **Improvements**
- Updated GitHub Actions workflow to enhance management of large files,
ensuring the latest configurations are applied before builds.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-30 12:11:27 +05:30
Shrikant Sharat Kandula
c22917599f ci: Remove unused ads-compliant-check input 2024-05-21 11:22:32 +05:30
Shrikant Sharat Kandula
35774bb4f6
ci: Remove inert ADS compliance check (#33603)
The ADS compliance check relies on the condition
`github.pull_request.base.ref == 'true'`, but this variable just doesn't
exist. There's no `pull_request` under the `github` context, so this ADS
compliance check never worked.

If we want this check, we can add it later as part of the
`client-build.compliance.js` script. Here's a PoC for the record, based
on the intention I interpreted:

```javascript
function doADSCheck({core, github, context, affectedFiles}) {
  const filesForADSCheck = affectedFiles.filter(f => (f.status === "added" || f.status === "modified") && f.filename.startsWith("app/client/src/"));

  const violatedFiles = new Set();
  for (const f of filesForADSCheck) {
    const content = fs.readFileSync(f.filename, "utf8");
    if (content.match(/(color|Color).*#|border.*#|(color|Color).*"/)) {
      violatedFiles.add(f.filename);
    }
  }

  if (violatedFiles.size === 0) {
    return;
  }

  const body = [
    "🔴 Below files are not compliant with ADS. Please fix and re-trigger ok-to-test",
    ...Array.from(violatedFiles).sort().map(f => "1. " + f),
  ].join("\n");

  github.rest.issues.createComment({
    owner: context.repo.owner,
    repo: context.repo.repo,
    issue_number: prNumber,
    body,
  });
}
```

/test sanity
2024-05-21 11:21:15 +05:30
Shrikant Sharat Kandula
e9102d5085 ci: Get PR number from env variable 2024-05-20 20:47:15 +05:30
Shrikant Sharat Kandula
2459607a3f
ci: Move check for new JS Cypress tests to GitHub script (#33560)
We have a check when running Cypress tests to ensure that no new `.js`
files are added under Cypress folder. This PR moves this check to a
separate JS file. There's another check that does some ADS compliance,
which I'll port in a follow-up PR.

Why am I hitting on this? One, to move away from `umani/changed-files`
workflow, which has randomly failed for us in the past, and id doesn't
do so much special for us anyway. Two, this workflow is the last usage
of `APPSMITH_CI_TEST_PAT` secret, so I should be able to remove that
secret as well. One less secret.
2024-05-20 20:39:33 +05:30
Arpit Mohan
ddefab7306
ci: Adding the overwrite: true parameter to actions/upload-artifact@v4 command (#33593)
## Description
By default the value of overwrite is false. In previous versions of
upload-artifact, this setting was implicit and true. Making this change
to fix the error `Failed to CreateArtifact: Received non-retryable
error: Failed request: (409) Conflict: an artifact with this name
already exists on the workflow run` in Github actions.

## Automation

/ok-to-test tags=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-20 17:22:22 +05:30
Arpit Mohan
6aeb456c62
ci: Upgrade GitHub Action steps to github-script@v7 and pload-artifact@v4 (#33554)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel 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._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!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=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: yatinappsmith <84702014+yatinappsmith@users.noreply.github.com>
2024-05-20 10:49:27 +05:30
Shrikant Sharat Kandula
4b9dddc861
ci: Remove Postgres from client-build workflow 2024-04-24 15:08:16 +05:30
Arpit Mohan
86cd40982b
ci: Upgrading the github action steps from Node 16 to Node 20. (#32004)
## 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 -->
2024-04-01 15:41:43 +05:30
Valera Melnikov
92c72ee20e
chore: update node version and appropriate git workflows (#31486)
## 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>
2024-03-26 14:12:11 +03:00
Shrikant Sharat Kandula
7a1e17ee8e
ci: Use a variable for client runner (#30787)
We should be able to switch back-and-forth faster with this.
2024-01-31 14:47:59 +05:30
Shrikant Sharat Kandula
5e746bca91
ci: Switch client-build to default runners 2024-01-31 12:52:14 +05:30
Abhijeet
efc303e760
chore: Update the build process to refer the Appsmith version from the info.json in all build artifacts (#29903)
Fixes #29623

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-01-12 19:44:58 +05:30
Goutham Pratapa
d77c1ab110
fix: missing psql client error in ci (#30279) 2024-01-12 17:28:35 +05:30
Goutham Pratapa
5d8b1b6e1b
fix: failing ci with psql not found (#30207)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated GitHub workflow to include PostgreSQL client installation
steps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-10 18:29:14 +05:30
yatinappsmith
7caf93d526
CI: Added restore cache from git for client build (#29938)
## Description
Added restore cache from git for client build
#### Type of change
- New feature (non-breaking change which adds functionality)
## Testing
Tested in local fork
#### 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
- [X] I have made corresponding changes to the documentation
- [X] My changes generate no new warnings
- [X] 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


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

## Summary by CodeRabbit

- **Refactor**
- Optimized the client build workflow to trigger only on relevant
changes or specific events, ensuring resource-efficient operations.
- **Chores**
- Updated workflow conditions to improve the CI/CD process, enhancing
overall development efficiency.
- **Documentation**
- Provided triage instructions to streamline the handling of workflow
changes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-29 15:26:25 +05:30
yatinappsmith
c1491c6db7
CI: fix client cache sequence (#29911)
fix client cache sequence
2023-12-28 09:15:50 +05:30
yatinappsmith
1c5afeecc7
CI: Add Caching support for Client Build (#29884)
## Description
Add Caching support for Client Build
#### PR fixes following issue(s)

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

#### How Has This Been Tested?
Tested in a fork
## 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
- [X] 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



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

## Summary by CodeRabbit

- **New Features**
  - Implemented caching for release builds to enhance performance.

- **Chores**
- Updated workflow to ensure successful status updates during build
processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-28 09:03:14 +05:30
Goutham Pratapa
e621376305
fix: failing client-build (#29878) 2023-12-26 22:34:04 +05:30
Goutham Pratapa
34f9267cbd
mv: client-build to self-hosted runners (#29877)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Updated the build process to use a new self-hosted deployment runner
with enhanced resources.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-26 22:29:34 +05:30
sharanya-appsmith
8d5b389f38
ci: added event_name schedule in client-build, rts-build, ci-test-custom-script to run them in scheduled run as well (#29724)
## Description
> added event_name schedule in client-build and rts-build to run them in
scheduled run as well

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
>
>
## Testing
> running TBP workflow to ensure nothing is impacted. 

#### How Has This Been Tested?
- [x] 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 build workflows to trigger on scheduled events.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-19 16:10:06 +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
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
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
albinAppsmith
65178eaf7e
feat: Added custom hex colors for testing workflow (#27568)
## Description

Added workflow to check if there is any custom colors or hex codes is
being used. This workflow will be checking for the anomalies in the
entire file that has been changed by the developer.

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/27839

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

## 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
- [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


#### 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: Saroj <saroj@appsmith.com>
2023-10-10 17:16:17 +05:30
Valera Melnikov
826d58f813
chore:update node version to v18 (#26358)
## Description
Update node version

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-08-15 18:56:04 +05:30
Sumesh Pradhan
18b26a4ec5
ci: Ad-hoc DP | Build Push Deploy from branch (#25357)
Workflow and script to build from branch and deploy to uat-cluster.

---------

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-07-31 13:27:47 +05:30
Nidhi
a3efa3cffd
ci: Moved QC around, removed unit tests running with ok to test (#25667) 2023-07-25 14:56:58 +05:30
Saroj
45ae5a2995
ci: Get the newly added files from the PR branch for ts check (#24825)
## Description
- Get the newly added files from the PR branch instead of commits for ts
check
- CI improvements, now added cypress dashboard link with the comments in
PR
- CI improvements removed the steps which saves un-necessary cache

#### Type of change
- Workflow file changes
## Testing
>
#### How Has This Been Tested?
- Workflow run
2023-06-27 22:25:44 +05:30
Saroj
23c8d0385b
ci: commenting out file check steps in client-build.yml (#24762)
## Description
- Commented out the file check steps in client-build to unblock other
pr's and rework
#### Type of change
- Workflow file changes
## Testing
>
#### How Has This Been Tested?
- Workflow run
2023-06-22 22:06:04 +05:30
Saroj
e43f540770
ci: Skipping the ts file checks if not required (#24761)
## Description
- Skipping the ts check for test files if not required, introduced a
input variable for the client build to control this
#### Type of change
- Workflow file
## Testing
>
#### How Has This Been Tested?
- Workflow run
2023-06-22 21:33:58 +05:30
Saroj
82dd3fb168
ci: Allow only ts files for new cypress tests (#24745)
## Description
- Added steps in client-build.yml to check the newly added files under
cypress/e2e
- Commenting in the PR with the file names in case of files written in
js
 - Failing the workflow in the above case
#### Type of change
 - client-build.yml changes
## Testing
>
#### How Has This Been Tested?
- Workflow run

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-06-22 17:29:20 +05:30
Valera Melnikov
f25eb88754
chore: separation of client build steps (#24506)
## Description
Separation to different steps of running lint, prettier, and jest unit
tests

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## 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
- [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
- [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
- [x] 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>
2023-06-16 09:03:56 +03:00
Saroj
1dc13270c6
ci: Download the failed specs from artifact instead of cache (#23600)
## Description
- Updated the workflows to save and download the correct dependencies
cache

#### Type of change
- Workflow changes

#### How Has This Been Tested?
- CI run
2023-05-24 18:28:01 +05:30
Valera Melnikov
9f607d250d
chore: move local dependency to packages (#23395)
## 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>
2023-05-22 15:55:46 +03:00
Satish Gandham
83538ad74d
feat: Bundle optimization and first load improvements (#21667)
Co-authored-by: Ivan Akulov <mail@iamakulov.com>
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Ivan Akulov <iamakulov@outlook.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2023-05-11 10:56:03 +05:30
yatinappsmith
af6b2b0150
ci: Increased clientbuild runner (#22722)
## Description

Increased clientbuild runner


## Type of change



- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual

### Test Plan
None

### Issues raised during DP testing
None


## 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:
- [ ] 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
2023-04-25 17:18:23 +05:30
Goutham Pratapa
f56596af62
fix:skipping jest-tests in client workflow (#21675)
Fixes: [22072](https://github.com/appsmithorg/appsmith/issues/22072)
Running as part of individual builds:


https://github.com/appsmithorg/appsmith/actions/runs/4605026111/jobs/8136569091
2023-04-07 12:41:36 +05:30
Satish Gandham
b2828dfe93
ci: Add lint check to the build step (#21442)
Add a step to verify lint rules in client build workflow.

---------

Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-03-20 22:50:44 +05:30
Goutham Pratapa
891df1dc33
ci: build lite version of deploy preview (#21078)
**Case-1:**

**`/build-deploy-preview skip-tests=true`**

**Client-jest skipped**
![Screenshot 2023-03-01 at 3 40 04
PM](https://user-images.githubusercontent.com/15846947/222109174-74749203-eafa-4694-ac5f-f5713942d07b.png)
**Server Build taking less time**
![Screenshot 2023-03-01 at 3 40 46
PM](https://user-images.githubusercontent.com/15846947/222109336-6771357f-6acf-4e5f-a428-ae73d057bf44.png)

**Case-2:**

**`/build-deploy-preview `**
![Screenshot 2023-03-02 at 11 54 37
AM](https://user-images.githubusercontent.com/15846947/222649676-f78f9f58-d918-4c74-961a-a5405481ab4c.png)


**Case-3**

**`/build-deploy-preview  env=release`**

![Screenshot 2023-03-07 at 8 05 38
PM](https://user-images.githubusercontent.com/15846947/223453763-35a0f5b5-b941-4349-80bc-a024deed5a08.png)

**github-action**
![Screenshot 2023-03-07 at 8 05 58
PM](https://user-images.githubusercontent.com/15846947/223453797-fad9b60e-f363-44b2-a7a0-2a954f1a4dac.png)

**final-dp:**

![Screenshot 2023-03-07 at 8 06 46
PM](https://user-images.githubusercontent.com/15846947/223454037-5725d6e5-18ff-4e9f-bd8d-3b181887ec75.png)
2023-03-08 15:07:30 +05:30
Shrikant Sharat Kandula
84e0ae80c8
ci: Use release Segment Key (#21225)
Effectively reverts changes from
https://github.com/appsmithorg/appsmith/pull/20669, since we depend on
this for usage tracking.
2023-03-07 14:50:14 +05:30
Shrikant Sharat Kandula
fb8870765a
ci: Remove Segment key unless on master branch (#20669) 2023-02-16 14:49:55 +05:30