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