## Description
Flapdoodle, our Mongo embedded testing library throws errors when
running Junit tests on Ubuntu 24.04. This is because of a mismatch of
openssl version from Ubuntu 22.04 to Ubuntu 24.04. Hence pinning our CI
for server builds to Ubuntu 22.04 for now. Will issue a holistic fix
with Flapdoodle upgrade later.
## 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
- **Chores**
- Updated GitHub Actions workflow configurations for server build and
integration tests
- Migrated workflow environments from `ubuntu-latest-8-cores` to
`ubuntu-22.04-8core`
- Refined workflow logic for test execution and artifact management
<!-- 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, 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="@tag.Git" it=true
### 🔍 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/12548211703>
> Commit: 28ec34d9b20246ce54b7deab8e9fa8e136bbd7ff
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12548211703&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 30 Dec 2024 15:48:17 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
- **New Features**
- Added optional integration tests trigger across multiple GitHub
Actions workflows
- Enhanced test configuration and reporting mechanisms
- **Chores**
- Updated workflow input parameters and descriptions
- Improved test execution and artifact management
- **Documentation**
- Added clarifying comments in test scripts about test prerequisites
<!-- 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, 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
- [x] No
## 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
## 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
- [x] No
## Description
fix git lfs migrate
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
## 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 -->
## Description
We’ve often faced challenges in running server-specific tests
efficiently for individual PRs. To streamline this process and improve
testing speed, I’ve implemented the workflow dispatch feature, enabling
quick and on-demand execution of server tests.
Fixes #`37060`
## Automation
/ok-to-test tags="@tag.IDE"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11497895741>
> Commit: 48c3cd9618bc4a4dc61d0ecdb612cc1798f07442
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11497895741&attempt=6"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.IDE
> Spec:
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/11497895741"
target="_blank">workflow here</a>.
> <hr>Fri, 25 Oct 2024 05:13:19 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## 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="@tag.IDE"
### 🔍 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/11370534880>
> Commit: dea75ff1999643d072745a38e91f741677ac5703
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11370534880&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Wed, 16 Oct 2024 17:40:56 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling and reporting of test failures during the build
process.
- Enhanced logging for better clarity on test results.
- **New Features**
- Introduced detailed output for failed and skipped tests, now available
in the GitHub step summary and as comments on pull requests.
- Added new input parameter `is-pg-build` for enhanced workflow control.
- Updated default value for `skip-tests` to "false" to enforce test
execution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
## Summary by CodeRabbit
- **New Features**
- Introduced a new job step to check the database type in the CI
workflow, ensuring proper database configurations.
- Added a step to determine if the build is for PostgreSQL in the server
build workflow, providing clarity on build types.
- **Bug Fixes**
- Improved conditional execution in the CI workflow to enhance
reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/test Sanity
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11104222888>
> Commit: df82014823c449954a96b6970168e456125c4f5e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11104222888&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Sanity
> Spec:
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Git/ExistingApps/v1.9.24/DSCrudAndBindings_Spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Mon, 30 Sep 2024 11:01:27 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
- **New Features**
- Added a conditional check for the database URL in the CI workflow to
ensure proper database configurations are in place.
- Introduced a step to identify the database type during the server
build process, enhancing build clarity.
- **Bug Fixes**
- Implemented error handling for missing database URLs to prevent build
failures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated workflow conditions to ensure PostgreSQL build is triggered
when the pull request head reference is 'pg'.
- Simplified logic to unconditionally start the PostgreSQL container in
the build process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Temporary arrangement to consume different base image for `pg` vs
`release`, until we upgrade Postgres to v15 on release.
## 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/9479342636>
> Commit: 69d29d1657d606d78c5f85aa130cf773eb693d27
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9479342636&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new input parameter `is-pg-build` to several workflows
for better customization of PostgreSQL builds.
- Enhanced Docker image build processes with dynamic base image tagging
based on pull request conditions.
- **Chores**
- Updated GitHub Actions workflows to improve build automation and
conditional logic handling.
<!-- 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, 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: Trisha Anand <trisha@appsmith.com>
Co-authored-by: yatinappsmith <84702014+yatinappsmith@users.noreply.github.com>
## Description
1. PR to enable server tests on PRs with `pg` as the base branch.
2. Replace the DB URI from `APPSMITH_MONGODB_URI` to `APPSMITH_DB_URL`
## Automation
/ok-to-test tags="@tag.Sanity, @tag.GenerateCRUD, @tag.Fork"
### 🔍 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/9174148396>
> Commit: 762b4255f654946a1a47a196df5a1afae5be09f2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9174148396&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
---------
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
## 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
## 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>
## 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 -->
## 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>
The current `TestResultLoggerExtension` extension only finds failed
tests from the server module, and not from any of the plugin or other
modules.
To fix this, this PR collects failed tests using the Surefire XML test
reports already generated by the `mvn test` command.
This should show the failed test list in the GitHub actions summary so
we don't have to load the _extremely large_ full log file of the server
tests, just to see the list of tests that failed.
fix server test rerun
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated workflow to ensure test extraction step runs when certain
tests fail.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix empty commit failures for server build
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated the server build workflow to allow commits with empty
messages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Added checks for scheduled changes
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated the workflow to trigger certain actions on a scheduled basis
as well as other specified events.
- **Documentation**
- No changes in public API documentation required.
- **Chores**
- Triage process remains unchanged.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
added changes to skip server incase of no changes
#### PR fixes following issue(s)
#### Type of change
- New feature (non-breaking change which adds functionality)
## 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
- **Chores**
- Improved the efficiency of the build process by only running
server-related jobs when there are changes in the server folder.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Server build cache
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Improved the caching process for release builds to enhance the
efficiency of our deployment workflows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix server build added missing quotes
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Improved the handling of user information in the automated server
build process to ensure compatibility with values containing spaces.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Added cache for server
#### PR fixes following issue(s)
#### Media
#### Type of change
- New feature (non-breaking change which adds functionality)
## 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
- [x] 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
- **New Features**
- Implemented caching for release builds to enhance efficiency and speed
up the deployment process.
- **Chores**
- Updated build workflow with additional steps for caching operations.
- **Documentation**
- Confirmed no changes to public API documentation are needed as this
update does not alter exported entities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Currently, when we run the server build without tests, we still try to
check the cache for run-result, but as the cache is not present during
the first run, where we just build the server, and on the success of the
workflow, actions/cache create the cache with the specified key,
Which is creating an issue while we try to save the actual run-result
cache when we run the tests in server-unit-tests.
Solution :
- Added a condition to check the cache present only while running tests
#### Type of change
- Workflow changes (server-build.yml)
## Testing
- Workflow run
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated the server build process to conditionally skip certain steps
based on user input.
- **Chores**
- Improved automation in the build workflow to enhance efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Added the required logic to rerun only the failed tests in JUnit in
server-build.yml
- Separated the build and test steps to accommodate our requirements
#### Type of change
- Workflow changes (server-build.yml)
## Testing
- [x] [Workflow
run](https://github.com/appsmithorg/appsmith/actions/runs/7164444771?pr=29469)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced comments for clarity in test methods related to application
creation, duplication, and cloning.
- Updated comments to reflect changes in test assertions for application
visibility and user anonymity.
- **Tests**
- Modified assertions in `ActionServiceCE_Test` to align with expected
behavior in view mode.
- Added new assertions and comments in `ApplicationServiceCETest` to
improve test coverage and documentation.
- **Chores**
- Improved the server build workflow with better caching and error
handling mechanisms.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Also modifying server-build to store the failed builds as an artifact that can be used later
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Implemented a new step in the build process to upload reports for
failed tests, enhancing visibility into test failures during continuous
integration.
- **Bug Fixes**
- Adjusted test assertions in `AnalyticsServiceCEImplTest` to correctly
reflect the expected behavior.
- Modified the assertion logic in `ApplicationServiceCETest` to ensure
the test aligns with the intended application validation process.
- **Documentation**
- No user-facing documentation changes in this release.
- **Refactor**
- Introduced `TestResultLoggerExtension` to improve test failure logging
and reporting.
- **Tests**
- Enabled auto-detection of JUnit Jupiter extensions to streamline the
testing framework setup.
- **Chores**
- No significant chores affecting end-users in this release.
- **Revert**
- No reverts in this release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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.