diff --git a/.github/workflows/appsmithctl.yml b/.github/workflows/appsmithctl.yml
index e7afc43435..41a87e961b 100644
--- a/.github/workflows/appsmithctl.yml
+++ b/.github/workflows/appsmithctl.yml
@@ -56,7 +56,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/appsmithctl_run_result
@@ -73,14 +73,14 @@ jobs:
- name: Use Node.js
if: steps.appsmithctl_run_result.outputs.appsmithctl_run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
# Install all the dependencies
- name: Install dependencies
if: steps.appsmithctl_run_result.outputs.appsmithctl_run_result != 'success'
- run: yarn install --frozen-lockfile
+ run: yarn install --immutable
# Run the Jest tests only if the workflow has been invoked in a PR
- name: Run the jest tests
diff --git a/.github/workflows/build-chromatic.yml b/.github/workflows/build-chromatic.yml
index cb19755120..fe2e273c2b 100644
--- a/.github/workflows/build-chromatic.yml
+++ b/.github/workflows/build-chromatic.yml
@@ -32,7 +32,7 @@ jobs:
ref: release
- name: Use Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
diff --git a/.github/workflows/build-client-server.yml b/.github/workflows/build-client-server.yml
index bb4be90ad9..a24e8745ab 100644
--- a/.github/workflows/build-client-server.yml
+++ b/.github/workflows/build-client-server.yml
@@ -186,9 +186,9 @@ jobs:
steps:
- name: Setup node
if: needs.ci-test-limited.result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
- node-version: 18
+ node-version-file: app/client/package.json
- name: install pg
if: needs.ci-test-limited.result != 'success'
@@ -303,9 +303,9 @@ jobs:
steps:
- name: Setup node
if: needs.ci-test-limited-existing-docker-image.result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
- node-version: 18
+ node-version-file: app/client/package.json
- name: install pg
if: needs.ci-test-limited-existing-docker-image.result != 'success'
diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml
index d03be035ae..e56563dc21 100644
--- a/.github/workflows/build-docker-image.yml
+++ b/.github/workflows/build-docker-image.yml
@@ -18,7 +18,7 @@ jobs:
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' ||
github.event_name == 'repository_dispatch' ||
- github.event_name == 'schedule'
+ github.event_name == 'schedule'
defaults:
run:
shell: bash
@@ -99,7 +99,7 @@ jobs:
gzip cicontainer.tar
- name: Cache docker image
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: cicontainer.tar.gz
key: docker-image-${{github.run_id}}
diff --git a/.github/workflows/build-storybook.yml b/.github/workflows/build-storybook.yml
index 5dbb3cfdbe..ff4f45983a 100644
--- a/.github/workflows/build-storybook.yml
+++ b/.github/workflows/build-storybook.yml
@@ -32,7 +32,7 @@ jobs:
ref: release
- name: Use Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
diff --git a/.github/workflows/ci-sanity.yml b/.github/workflows/ci-sanity.yml
index 1b82e5268d..9fc8d56905 100644
--- a/.github/workflows/ci-sanity.yml
+++ b/.github/workflows/ci-sanity.yml
@@ -160,7 +160,7 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
diff --git a/.github/workflows/ci-smoke.yml b/.github/workflows/ci-smoke.yml
index 19120b8037..597ab13fab 100644
--- a/.github/workflows/ci-smoke.yml
+++ b/.github/workflows/ci-smoke.yml
@@ -160,7 +160,7 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
diff --git a/.github/workflows/ci-test-custom-script.yml b/.github/workflows/ci-test-custom-script.yml
index 83b77e55e7..757e5b2ff1 100644
--- a/.github/workflows/ci-test-custom-script.yml
+++ b/.github/workflows/ci-test-custom-script.yml
@@ -85,7 +85,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
id: cache-appsmith
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -120,7 +120,7 @@ jobs:
run: echo ${{ steps.run_result.outputs.run_result }}
- name: Restore the docker image cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: cicontainer.tar.gz
key: docker-image-${{github.run_id}}
@@ -193,18 +193,20 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
# Install all the dependencies
@@ -408,7 +410,7 @@ jobs:
# Force store previous run result to cache
- name: Store the previous run result
if: failure()
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: |
~/run_result
diff --git a/.github/workflows/ci-test-hosted.yml b/.github/workflows/ci-test-hosted.yml
index 5381d6fcf5..060683542f 100644
--- a/.github/workflows/ci-test-hosted.yml
+++ b/.github/workflows/ci-test-hosted.yml
@@ -69,7 +69,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
id: cache-appsmith
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -105,18 +105,20 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
restore-keys: |
v1-yarn3-
@@ -125,8 +127,7 @@ jobs:
- name: Install dependencies
if: steps.run_result.outputs.run_result != 'success'
working-directory: app/client
- run: |
- yarn install --immutable
+ run: yarn install --immutable
- name: Setting up the cypress tests
if: steps.run_result.outputs.run_result != 'success'
@@ -281,7 +282,7 @@ jobs:
# Force store previous run result to cache
- name: Store the previous run result
if: failure()
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: |
~/run_result
diff --git a/.github/workflows/ci-test-limited.yml b/.github/workflows/ci-test-limited.yml
index 753c124095..b7fe56c0b9 100644
--- a/.github/workflows/ci-test-limited.yml
+++ b/.github/workflows/ci-test-limited.yml
@@ -135,7 +135,7 @@ jobs:
# In case of run-id provided download the artifact from the previous run
- name: Download Docker image artifact
if: inputs.previous-workflow-run-id != 0
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: cicontainer.tar.gz
key: docker-image-${{ inputs.previous-workflow-run-id }}
@@ -143,7 +143,7 @@ jobs:
# In case of run-id is 0 download the artifact from the current run
- name: Download Docker image artifact
if: inputs.previous-workflow-run-id == 0
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: cicontainer.tar.gz
key: docker-image-${{github.run_id}}
@@ -210,18 +210,20 @@ jobs:
cicontainer
- name: Use Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
# Install all the dependencies
diff --git a/.github/workflows/ci-test-with-documentdb.yml b/.github/workflows/ci-test-with-documentdb.yml
index 327c8007b4..f05bbcfaff 100644
--- a/.github/workflows/ci-test-with-documentdb.yml
+++ b/.github/workflows/ci-test-with-documentdb.yml
@@ -131,7 +131,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
id: cache-appsmith
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -293,18 +293,20 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
restore-keys: |
v1-yarn3-
@@ -585,7 +587,7 @@ jobs:
# Force store previous run result to cache
- name: Store the previous run result
if: failure()
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: |
~/run_result
diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml
index 9e60d78b50..2380b5e886 100644
--- a/.github/workflows/ci-test.yml
+++ b/.github/workflows/ci-test.yml
@@ -69,7 +69,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
id: cache-appsmith
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -192,18 +192,20 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
restore-keys: |
v1-yarn3-
@@ -488,7 +490,7 @@ jobs:
# Force store previous run result to cache
- name: Store the previous run result
if: failure()
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: |
~/run_result
diff --git a/.github/workflows/client-build.yml b/.github/workflows/client-build.yml
index da8cf44b31..81e3dd68f6 100644
--- a/.github/workflows/client-build.yml
+++ b/.github/workflows/client-build.yml
@@ -185,7 +185,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
if: steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -203,27 +203,27 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
- uses: actions/cache@v3
+ uses: actions/cache@v4
id: cache-dependencies
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
# Install all the dependencies
- name: Install dependencies
if: steps.run_result.outputs.run_result != 'success' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
- run: |
- npm install -g yarn
- yarn install --immutable
+ run: yarn install --immutable
# Type checking before starting the build
- name: Run type check
@@ -261,16 +261,18 @@ jobs:
# Saving the cache to use it in subsequent runs
- name: Save Yarn cache
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
if: steps.cache-dependencies.outputs.cache-hit != 'true' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
with:
- path: app/client/.yarn/cache
+ path: |
+ app/client/.yarn/cache
+ app/client/node_modules/.cache/webpack/
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
if: steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
app/client/build/
@@ -299,7 +301,7 @@ jobs:
if [ "$reponame" = "appsmith" ]; then export repodir="CE"; fi
if [ "$reponame" = "appsmith-ee" ]; then export repodir="EE"; fi
cd cibuildcache/$repodir/release/client
- git lfs pull ./build.tar
+ git lfs pull ./build.tar
mv ./build.tar ../../../../../build.tar
# Upload the build artifact so that it can be used by the test & deploy job in the workflow
diff --git a/.github/workflows/client-lint.yml b/.github/workflows/client-lint.yml
index 6b64819d6c..37bd14cf7d 100644
--- a/.github/workflows/client-lint.yml
+++ b/.github/workflows/client-lint.yml
@@ -39,7 +39,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -56,16 +56,16 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
@@ -75,7 +75,9 @@ jobs:
# Install all the dependencies
- name: Install dependencies
if: steps.run_result.outputs.run_result != 'success'
- run: yarn install --immutable
+ run: |
+ corepack enable
+ yarn install --immutable
# Run the Lint for client and packages
- name: Run lint
@@ -84,7 +86,7 @@ jobs:
# Saving the cache to use it in subsequent runs
- name: Save Yarn cache
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
diff --git a/.github/workflows/client-prettier.yml b/.github/workflows/client-prettier.yml
index 2875de007a..771ea6bab5 100644
--- a/.github/workflows/client-prettier.yml
+++ b/.github/workflows/client-prettier.yml
@@ -30,7 +30,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -47,16 +47,16 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
@@ -74,7 +74,7 @@ jobs:
# Saving the cache to use it in subsequent runs
- name: Save Yarn cache
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
diff --git a/.github/workflows/client-unit-tests.yml b/.github/workflows/client-unit-tests.yml
index ae500a1f5f..db71f72870 100644
--- a/.github/workflows/client-unit-tests.yml
+++ b/.github/workflows/client-unit-tests.yml
@@ -59,7 +59,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -76,16 +76,16 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml
index 59498471d0..2a5f6fc073 100644
--- a/.github/workflows/github-release.yml
+++ b/.github/workflows/github-release.yml
@@ -56,13 +56,13 @@ jobs:
- uses: actions/checkout@v4
- name: Use Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
# Retrieve npm dependencies from cache. After a successful run, these dependencies are cached again
- name: Cache npm dependencies
- uses: actions/cache@v3
+ uses: actions/cache@v4
env:
cache-name: cache-yarn-dependencies
with:
@@ -74,7 +74,7 @@ jobs:
${{ runner.OS }}-
- name: Install dependencies
- run: yarn install --frozen-lockfile
+ run: yarn install --immutable
- name: Create the bundle
env:
@@ -120,7 +120,7 @@ jobs:
# Retrieve maven dependencies from cache. After a successful run, these dependencies are cached again
- name: Cache maven dependencies
- uses: actions/cache@v3
+ uses: actions/cache@v4
env:
cache-name: cache-maven-dependencies
with:
@@ -160,16 +160,16 @@ jobs:
- uses: actions/checkout@v4
- name: Use Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/yarn.lock') }}
diff --git a/.github/workflows/on-demand-build-docker-image-deploy-preview.yml b/.github/workflows/on-demand-build-docker-image-deploy-preview.yml
index 38aabcb4d7..ad5e14d826 100644
--- a/.github/workflows/on-demand-build-docker-image-deploy-preview.yml
+++ b/.github/workflows/on-demand-build-docker-image-deploy-preview.yml
@@ -68,16 +68,16 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/yarn.lock') }}
diff --git a/.github/workflows/perf-test-on-documentdb.yml b/.github/workflows/perf-test-on-documentdb.yml
index cd0db959ae..b499feb75c 100644
--- a/.github/workflows/perf-test-on-documentdb.yml
+++ b/.github/workflows/perf-test-on-documentdb.yml
@@ -64,7 +64,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -86,11 +86,11 @@ jobs:
run: echo "run_result=success" >> $GITHUB_OUTPUT > ~/run_result
# Set up Node.js cache yarn dependencies.
- # actions/setup-node@v3 now support caching of dependencies using actions/cache under the hood
+ # actions/setup-node@v4 now support caching of dependencies using actions/cache under the hood
# https://github.com/actions/setup-node#caching-global-packages-data
- name: Set up Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
@@ -206,7 +206,7 @@ jobs:
if: steps.run_result.outputs.run_result != 'success'
working-directory: perf
shell: bash
- run: yarn install --frozen-lockfile
+ run: yarn install --immutable
- name: Change test script permissions
if: steps.run_result.outputs.run_result != 'success'
@@ -238,7 +238,7 @@ jobs:
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
perf/traces
diff --git a/.github/workflows/perf-test-v2.yml b/.github/workflows/perf-test-v2.yml
index 1f86eb7597..5e022a80d4 100644
--- a/.github/workflows/perf-test-v2.yml
+++ b/.github/workflows/perf-test-v2.yml
@@ -68,7 +68,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -90,11 +90,11 @@ jobs:
run: echo "run_result=success" >> $GITHUB_OUTPUT > ~/run_result
# Set up Node.js cache yarn dependencies.
- # actions/setup-node@v3 now support caching of dependencies using actions/cache under the hood
+ # actions/setup-node@v4 now support caching of dependencies using actions/cache under the hood
# https://github.com/actions/setup-node#caching-global-packages-data
- name: Set up Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
@@ -226,7 +226,7 @@ jobs:
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
perf/traces
diff --git a/.github/workflows/perf-test.yml b/.github/workflows/perf-test.yml
index c1ce72dfd2..6d42733c05 100644
--- a/.github/workflows/perf-test.yml
+++ b/.github/workflows/perf-test.yml
@@ -67,7 +67,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -89,11 +89,11 @@ jobs:
run: echo "run_result=success" >> $GITHUB_OUTPUT > ~/run_result
# Set up Node.js cache yarn dependencies.
- # actions/setup-node@v3 now support caching of dependencies using actions/cache under the hood
+ # actions/setup-node@v4 now support caching of dependencies using actions/cache under the hood
# https://github.com/actions/setup-node#caching-global-packages-data
- name: Set up Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
@@ -192,7 +192,7 @@ jobs:
if: steps.run_result.outputs.run_result != 'success'
working-directory: perf
shell: bash
- run: yarn install --frozen-lockfile
+ run: yarn install --immutable
- name: Change test script permissions
if: steps.run_result.outputs.run_result != 'success'
@@ -224,7 +224,7 @@ jobs:
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
perf/traces
diff --git a/.github/workflows/pr-cypress.yml b/.github/workflows/pr-cypress.yml
index 92ff590915..0a259c7bb2 100644
--- a/.github/workflows/pr-cypress.yml
+++ b/.github/workflows/pr-cypress.yml
@@ -84,9 +84,9 @@ jobs:
- name: Setup node
if: needs.ci-test.result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
- node-version: 18
+ node-version-file: app/client/package.json
- name: Install pg
if: needs.ci-test.result != 'success'
@@ -176,7 +176,7 @@ jobs:
with:
content: |
- > [!CAUTION]
+ > [!CAUTION]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard: Click here!
@@ -196,7 +196,7 @@ jobs:
with:
content: |
- > [!WARNING]
+ > [!WARNING]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard url: Click here!
@@ -214,7 +214,7 @@ jobs:
with:
content: |
- > [!IMPORTANT]
+ > [!IMPORTANT]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard url: Click here!
@@ -228,4 +228,4 @@ jobs:
- name: Check ci-test set status
if: needs.ci-test.result != 'success'
- run: exit 1
\ No newline at end of file
+ run: exit 1
diff --git a/.github/workflows/rts-build.yml b/.github/workflows/rts-build.yml
index 10d5b28da0..62eecccd55 100644
--- a/.github/workflows/rts-build.yml
+++ b/.github/workflows/rts-build.yml
@@ -77,7 +77,7 @@ jobs:
# In case this is second attempt try restoring status of the prior attempt from cache
- name: Restore the previous run result
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -94,16 +94,16 @@ jobs:
- name: Use Node.js
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version-file: app/client/package.json
- # actions/setup-node@v3 doesn’t work properly with Yarn 3
+ # actions/setup-node@v4 doesn’t work properly with Yarn 3
# when the project lives in a subdirectory: https://github.com/actions/setup-node/issues/488
# Restoring the cache manually instead
- name: Restore Yarn cache
if: steps.run_result.outputs.run_result != 'success'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: app/client/.yarn/cache
key: v1-yarn3-${{ hashFiles('app/client/yarn.lock') }}
@@ -114,7 +114,7 @@ jobs:
- name: Install dependencies
if: steps.run_result.outputs.run_result != 'success'
run: |
- npm install -g yarn
+ corepack enable
yarn install --immutable
# Run the Jest tests only if the workflow has been invoked in a PR
@@ -136,7 +136,7 @@ jobs:
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
app/client/packages/rts/dist/
diff --git a/.github/workflows/server-build.yml b/.github/workflows/server-build.yml
index 8934ff5bd5..66d98fdd4f 100644
--- a/.github/workflows/server-build.yml
+++ b/.github/workflows/server-build.yml
@@ -89,7 +89,7 @@ jobs:
- name: Restore the previous run result
if: inputs.skip-tests != 'true' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
id: cache-appsmith
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
~/run_result
@@ -136,7 +136,7 @@ jobs:
# Retrieve maven dependencies from cache. After a successful run, these dependencies are cached again
- name: Cache maven dependencies
if: steps.run_result.outputs.run_result != 'success' && (steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
- uses: actions/cache@v3
+ uses: actions/cache@v4
env:
cache-name: cache-maven-dependencies
with:
@@ -214,7 +214,7 @@ jobs:
# Force store previous run result to cache
- name: Store the previous run result
if: failure()
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
path: |
~/run_result
@@ -254,7 +254,7 @@ jobs:
# Restore the previous built bundle if present. If not push the newly built into the cache
- name: Restore the previous bundle
if: steps.changed-files-specific.outputs.any_changed == 'true' || github.event_name == 'push' || github.event_name == 'workflow_dispatch'
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
app/server/dist/
diff --git a/app/client/.nvmrc b/app/client/.nvmrc
index a77793ecc5..ee09fac75c 100644
--- a/app/client/.nvmrc
+++ b/app/client/.nvmrc
@@ -1 +1 @@
-lts/hydrogen
+v20.11.1
diff --git a/app/client/package.json b/app/client/package.json
index b9ff538613..955deb1f5f 100644
--- a/app/client/package.json
+++ b/app/client/package.json
@@ -6,7 +6,7 @@
"./lib/*": "./lib/*.js"
},
"engines": {
- "node": "^18.17.1",
+ "node": "^20.11.1",
"yarn": "^3.5.1"
},
"packageManager": "yarn@3.5.1",
diff --git a/app/client/src/sagas/ActionExecution/geolocationSaga.test.ts b/app/client/src/sagas/ActionExecution/geolocationSaga.test.ts
index f63dc47f1a..a5680e7ffe 100644
--- a/app/client/src/sagas/ActionExecution/geolocationSaga.test.ts
+++ b/app/client/src/sagas/ActionExecution/geolocationSaga.test.ts
@@ -82,12 +82,9 @@ describe("getCurrentLocationSaga", () => {
const iter = getCurrentLocationSaga(trigger);
expect(iter.next().value).toEqual(call(getUserLocation, payload.options));
- expect(iter.next().value).toEqual(
- call(
- logActionExecutionError,
- "Cannot read properties of undefined (reading 'coords')",
- true,
- ),
+ expect(iter.next().value).toHaveProperty(
+ "payload.fn",
+ logActionExecutionError,
);
expect(iter.next().done).toBe(true);
});
diff --git a/deploy/docker/base.dockerfile b/deploy/docker/base.dockerfile
index c81c37ad96..0e22cceac5 100644
--- a/deploy/docker/base.dockerfile
+++ b/deploy/docker/base.dockerfile
@@ -44,8 +44,8 @@ RUN set -o xtrace \
# Install NodeJS
RUN set -o xtrace \
&& mkdir -p /opt/node \
- && file="$(curl -sS 'https://nodejs.org/dist/latest-v18.x/' | awk -F\" '$2 ~ /linux-'"$(uname -m | sed 's/x86_64/x64/; s/aarch64/arm64/')"'.tar.gz/ {print $2}')" \
- && curl "https://nodejs.org/dist/latest-v18.x/$file" | tar -xz -C /opt/node --strip-components 1
+ && file="$(curl -sS 'https://nodejs.org/dist/latest-v20.x/' | awk -F\" '$2 ~ /linux-'"$(uname -m | sed 's/x86_64/x64/; s/aarch64/arm64/')"'.tar.gz/ {print $2}')" \
+ && curl "https://nodejs.org/dist/latest-v20.x/$file" | tar -xz -C /opt/node --strip-components 1
# Install Caddy
COPY --from=caddybuilder /usr/bin/caddy /opt/caddy/caddy