chore: update node version and appropriate git workflows (#31486)

## Description
- update node version and appropriate git workflow
- added the path to webpack cache folder, this should speed up bundle
creation about a minute

[Test, build and push Docker
Image](https://github.com/appsmithorg/appsmith/actions/runs/8421752151)
[Build Client, Server & Run only
Cypress](https://github.com/appsmithorg/appsmith/actions/runs/8421752151)

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


- **Chores**
- Updated actions/cache and actions/setup-node to v4 across various
workflows for improved caching and Node.js setup.
- Modified the `yarn install` command to use `--immutable` flag,
enhancing dependency management.
- **Documentation**
- Updated comments within workflows to include cautionary and important
notes, ensuring better clarity.
- **Refactor**
	- Adjusted caching paths and keys for more efficient caching behavior.
- Changed Node.js installation to version 20.11.1 in Dockerfile,
aligning with the latest version for better performance and security.
- **Tests**
- Modified assertion in `getCurrentLocationSaga` test to check for the
presence of a property, improving test accuracy.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Aman Agarwal <aman@appsmith.com>
This commit is contained in:
Valera Melnikov 2024-03-26 14:12:11 +03:00 committed by GitHub
parent 607672efcb
commit 92c72ee20e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 133 additions and 123 deletions

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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}}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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') }}

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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') }}

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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') }}

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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') }}

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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') }}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: |
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> [!CAUTION]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=${{ github.run_id }}&attempt=${{ github.run_attempt }}&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank"> Click here!</a>
@ -196,7 +196,7 @@ jobs:
with:
content: |
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> [!WARNING]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=${{ github.run_id }}&attempt=${{ github.run_attempt }}" target="_blank">Click here!</a>
@ -214,7 +214,7 @@ jobs:
with:
content: |
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> [!IMPORTANT]
> Workflow run: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}>
> Commit: `${{ github.event.pull_request.head.sha }}`
> Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=${{ github.run_id }}&attempt=${{ github.run_attempt }}" target="_blank">Click here!</a>
@ -228,4 +228,4 @@ jobs:
- name: Check ci-test set status
if: needs.ci-test.result != 'success'
run: exit 1
run: exit 1

View File

@ -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 doesnt work properly with Yarn 3
# actions/setup-node@v4 doesnt 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/

View File

@ -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/

View File

@ -1 +1 @@
lts/hydrogen
v20.11.1

View File

@ -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",

View File

@ -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);
});

View File

@ -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