@@ -9,57 +9,58 @@ inputs:
99 description : " Node.js version to use"
1010 required : true
1111 workspace :
12- description : " Key for the cache "
12+ description : " Workspace to install "
1313 required : true
1414
1515outputs :
1616 workspace_path :
1717 description : " Full path to the workspace directory"
18- value : ${{ steps.set-env .outputs.workspace_path }}
18+ value : ${{ steps.set-workspace .outputs.workspace_path }}
1919
2020runs :
2121 using : " composite"
2222 steps :
23- - name : Install NodeJS ${{ inputs.node-version }}
24- uses : actions/setup-node@v4
25- with :
26- node-version : ${{ inputs.node-version }}
27-
28- - name : Set cache configuration
23+ - name : Set workspace path
2924 shell : bash
30- id : set-env
25+ id : set-workspace
3126 run : |
3227 if [ "${{ inputs.workspace }}" = "testcontainers" ]; then
33- echo "CACHE_PATHS<<EOF" >> $GITHUB_ENV
34- echo "node_modules" >> $GITHUB_ENV
35- echo "packages/testcontainers/node_modules" >> $GITHUB_ENV
36- echo "EOF" >> $GITHUB_ENV
37- echo "WORKSPACE_PATH=packages/testcontainers" >> $GITHUB_ENV
38- echo "workspace_path=packages/testcontainers" >> "$GITHUB_OUTPUT"
28+ workspace_path="packages/testcontainers"
29+ cache_paths=$'node_modules\npackages/testcontainers/node_modules'
3930 else
40- echo "CACHE_PATHS<<EOF" >> $GITHUB_ENV
41- echo "node_modules" >> $GITHUB_ENV
42- echo "packages/testcontainers/node_modules" >> $GITHUB_ENV
43- echo "packages/modules/${{ inputs.workspace }}/node_modules" >> $GITHUB_ENV
44- echo "EOF" >> $GITHUB_ENV
45- echo "WORKSPACE_PATH=packages/modules/${{ inputs.workspace }}" >> $GITHUB_ENV
46- echo "workspace_path=packages/modules/${{ inputs.workspace }}" >> "$GITHUB_OUTPUT"
31+ workspace_path="packages/modules/${{ inputs.workspace }}"
32+ cache_paths=$'node_modules\npackages/testcontainers/node_modules\n'"${workspace_path}/node_modules"
4733 fi
4834
49- - uses : actions/cache/restore@v4
35+ echo "WORKSPACE_PATH=${workspace_path}" >> "$GITHUB_ENV"
36+ echo "workspace_path=${workspace_path}" >> "$GITHUB_OUTPUT"
37+ {
38+ echo "cache_paths<<EOF"
39+ echo "${cache_paths}"
40+ echo "EOF"
41+ } >> "$GITHUB_OUTPUT"
42+
43+ - name : Install NodeJS ${{ inputs.node-version }}
44+ uses : actions/setup-node@v6
45+ with :
46+ node-version : ${{ inputs.node-version }}
47+ package-manager-cache : false
48+
49+ - name : Restore dependencies cache
50+ uses : actions/cache/restore@v4
5051 id : npm-cache
5152 with :
52- path : ${{ env.CACHE_PATHS }}
53- key : ${{ inputs.runner }}-node-${{ inputs.node-version }}-${{ inputs.workspace }}-${{ hashFiles('package-lock.json') }}
53+ path : ${{ steps.set-workspace.outputs.cache_paths }}
54+ key : npm-v2- ${{ inputs.runner }}-node-${{ inputs.node-version }}-${{ inputs.workspace }}-${{ hashFiles('package-lock.json') }}
5455
5556 - name : Install dependencies
5657 if : steps.npm-cache.outputs.cache-hit != 'true'
5758 shell : bash
58- run : npm ci --workspace ${{ env. WORKSPACE_PATH }} --include-workspace-root
59+ run : npm ci --workspace "${ WORKSPACE_PATH}" --include-workspace-root
5960
60- - name : Cache npm
61+ - name : Save dependencies cache
6162 if : steps.npm-cache.outputs.cache-hit != 'true'
6263 uses : actions/cache/save@v4
6364 with :
64- path : ${{ env.CACHE_PATHS }}
65+ path : ${{ steps.set-workspace.outputs.cache_paths }}
6566 key : ${{ steps.npm-cache.outputs.cache-primary-key }}
0 commit comments