Show the commit SHA in the version popup, instead of a snapshot version
number like `v1.11-SNAPSHOT`. But if the version number doesn't have a
`-SNAPSHOT` at the end, we show the version number as is. So if it's
`v1.12`, we show that instead of the commit SHA.

<!-- 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.
## Description
1. Move everything related to client from app folder to client folder
(`.yarn`, `yarn.lock`, package.json, .gitignore)
2. Move `ast` and `rst` to client packages
3. Fix running scripts in packages
4. Add running unit tests in packages in CI
TODO: It is necessary to consider enabling the `nmHoistingLimits:
workspaces` option, since now all packages are hoisted to the root,
there may be issues with dependencies in workspaces. Also, there is a
possibility of implicit use of packages.
https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits
#### PR fixes following issue(s)
Fixes#23333
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
#### How Has This Been Tested?
- [x] Manual
- [x] Jest
- [x] Cypress
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
GitHub's Variables, unlike Secrets, don't get masked in the output, and
are ideal for non-secret... _variables_. I'm switching on such secret
here, and depending on our experience with this, we'll look to moving
more.
Of course, goes without saying, do NOT use these variables for secrets.
When in doubt, use Secrets.
[Learn more about
Variables](https://docs.github.com/en/actions/learn-github-actions/variables).
The RTS slim image isn't used, at all. The `appsmith-ce` and
`appsmith-ee` images run RTS inside of them, and the slim container
setup doesn't support RTS at all.
This upgrade takes care of our move to JDK 17, Spring Boot 3.0.1 and a
few other security upgrades along the way.
Fixes#18993
TODO:
- [x] Check CI changes for Java 17
- [x] Check vulnerability report
- [x] Mongock needs an upgrade
- [x] Add JVM args at all possible places for exposing java.time module
- [x] Add type adapters everywhere / use the same config for type
adapters everywhere
Refer to #16020 for details. This PR has been opened since we could not modify the previous PR since it's a contribution by an external contributor.
Co-authored-by: kylegalbraith <kyle.galbraith459@gmail.com>
## Description
This PR adds the string `Community` along with the Appsmith version. This will help users identify the type of instance that they are running.
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Manually
## Checklist:
- [ ] 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
* Include version information in backend builds
* Enable manual trigger of server workflow
* Add a dummy input field for manual trigger
* Fix secret checking in github actions
* Disable cron scheduling of sync job
* Build docker image on pushing a version tag
* Fix duplicated id and invalid id in release workflow
* Don't try to login to Docker
* Avoid download progress outputs from Maven
* Add version information for building client
* Calculate version number only once
* Enable push to DockerHub after building images
* Use Docker username from GitHub secrets
* Fix Docker username in tags when building image
* Use different secret for org name
* Minor refactoring in server workflow
* Update client build workflow to use version
* Enable manual triggering of client workflow
* Set snapshot version for server builds
* Push to docker for all branches (temp)
* Undo temp change to push all branches to DockerHub
* Use Docker org from secrets in client.yml
* Fix missing version reference in client.yml
* Remove debug command in dockerfile
* Save release notes in a resource file in Docker image
* Fix query serialization to get release notes
* Get releases of current repo instead of hard-coded repo
* Fix variable quoting for repo variables
* Exclude draft and prerelease nodes from image
* Fix call to any in release notes processor
* Fix syntax error in release notes script
* Implement API to get new release count and info
* Add missing ReleaseNotes component
* Have the release workflow run after a release is created
* Build server after generating release notes
* Change release trigger to "released"
* Change release trigger to "published"
* Change release trigger to released, edited and deleted
* Use JS script to get release notes, take 1
* Filter drafts and prereleases in script
* Fix syntax error in ES6
* Write release notes to file
* Create parent directory before writing release notes
* Log cwd in release notes script
* Log pwd along with release-notes content
* Handle case where working directory is incorrect
* Remove shell based release notes generator
* Don't show error when Sentry config is missing
* Check for sentry auth token to enable Sentry
* Carry build's exit code over to CI
* Mark out build result and add a note about it
* Add a small test to verify new versions computation
* Remove incorrect test assertion
* Remove generation of release notes file
* Connect to cloud services to fetch release notes data
* Fix missing runner for test class
* Handle missing cloud_services base URL
* Fix test failures due to missing mocks
* Enable sync-ee cron job
* Revert build.sh as there's no real change
* Add API to update release notes viewed version for users
* Fix prettier line-length errors
* Create UserData model for info unrelated to auth
* Fix field name calls
* Ensure we have a userId before setting userData
* Add tests for setting version number in UserData
* Include instanceId when fetching release notes
* Fusion charts watermark can be removed by adding the `APPSMITH_FUSIONCHARTS_LICENSE_KEY` env variable.
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Also adding the APPSMITH_SEGMENT_CE_KEY as a build arg to the server Dockerfile. This will be used to set the environment variable in the Docker image itself.