11#
2- # Copyright (C) 2022-2024 Red Hat, Inc.
2+ # Copyright (C) 2022-2025 Red Hat, Inc.
33#
44# Licensed under the Apache License, Version 2.0 (the "License");
55# you may not use this file except in compliance with the License.
@@ -33,25 +33,25 @@ jobs:
3333 with :
3434 node-version : 22
3535
36- - name : Get yarn cache directory path
37- id : yarn -cache-dir-path
38- run : echo "dir=$(yarn cache dir)" >> ${env:GITHUB_OUTPUT}
36+ - name : Get pnpm cache directory path
37+ id : pnpm -cache-dir-path
38+ run : echo "dir=$(pnpm cache dir)" >> ${env:GITHUB_OUTPUT}
3939
4040 - uses : actions/cache@v4
41- id : yarn -cache
41+ id : pnpm -cache
4242 with :
43- path : ${{ steps.yarn -cache-dir-path.outputs.dir }}
44- key : ${{ runner.os }}-yarn -${{ hashFiles('**/yarn .lock') }}
43+ path : ${{ steps.pnpm -cache-dir-path.outputs.dir }}
44+ key : ${{ runner.os }}-pnpm -${{ hashFiles('**/pnpm .lock') }}
4545 restore-keys : |
46- ${{ runner.os }}-yarn -
46+ ${{ runner.os }}-pnpm -
4747
48- - name : yarn
48+ - name : pnpm
4949 run : |
50- yarn --frozen-lockfile --network-timeout 180000
50+ pnpm --frozen-lockfile --network-timeout 180000
5151
5252 - name : Run Build
5353 timeout-minutes : 20
54- run : yarn build
54+ run : pnpm build
5555
5656 darwin :
5757 name : macOS
@@ -66,25 +66,22 @@ jobs:
6666 with :
6767 node-version : 22
6868
69- - name : Get yarn cache directory path
70- id : yarn-cache-dir-path
71- run : echo "dir=$(yarn cache dir)" >> ${GITHUB_OUTPUT}
69+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
70+ name : Install pnpm
71+ with :
72+ run_install : false
7273
73- - uses : actions/cache@v4
74- id : yarn-cache
74+ - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
7575 with :
76- path : ${{ steps.yarn-cache-dir-path.outputs.dir }}
77- key : ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
78- restore-keys : |
79- ${{ runner.os }}-yarn-
76+ node-version : 22
77+ cache : ' pnpm'
8078
81- - name : Execute yarn
82- if : ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
83- run : yarn --frozen-lockfile --network-timeout 180000
79+ - name : Run pnpm
80+ run : pnpm install
8481
8582 - name : Run Build
8683 timeout-minutes : 20
87- run : yarn build
84+ run : pnpm build
8885
8986 lint-format-unit :
9087 name : linter, formatters and unit tests
@@ -95,29 +92,27 @@ jobs:
9592 with :
9693 node-version : 22
9794
98- - name : Get yarn cache directory path
99- id : yarn-cache-dir-path
100- run : echo "dir=$(yarn cache dir)" >> ${GITHUB_OUTPUT}
95+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
96+ name : Install pnpm
97+ with :
98+ run_install : false
10199
102- - uses : actions/cache@v4
103- id : yarn-cache
100+ - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
104101 with :
105- path : ${{ steps.yarn-cache-dir-path.outputs.dir }}
106- key : ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
107- restore-keys : |
108- ${{ runner.os }}-yarn-
102+ node-version : 22
103+ cache : ' pnpm'
109104
110- - name : Execute yarn
111- run : yarn --frozen-lockfile
105+ - name : Run pnpm
106+ run : pnpm install
112107
113108 - name : Run linter
114- run : yarn lint:check
109+ run : pnpm lint:check
115110
116111 - name : Run formatter
117- run : yarn format:check
112+ run : pnpm format:check
118113
119114 - name : Run Tests
120- run : yarn test
115+ run : pnpm test
121116
122117 e2e-tests :
123118 name : e2e tests for ${{ matrix.os }}
@@ -155,12 +150,17 @@ jobs:
155150 with :
156151 node-version : 22
157152
158- - name : Install pnpm
159- uses : pnpm/action-setup@v4
153+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
154+ name : Install pnpm
160155 with :
161156 run_install : false
162157 package_json_file : ./podman-desktop/package.json
163158
159+ - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
160+ with :
161+ node-version : 22
162+ cache : ' pnpm'
163+
164164 - name : Install & build Podman Desktop for E2E tests
165165 working-directory : ./podman-desktop
166166 run : |
@@ -206,7 +206,7 @@ jobs:
206206 if : matrix.os == 'ubuntu-24.04'
207207 working-directory : ./crc-extension
208208 run : |
209- yarn install --check-files
209+ pnpm install --check-files
210210 # build crc extension
211211 podman build -t openshift_local_image . -f ./oci/Containerfile.multistage
212212 CONTAINER_ID_CRC=$(podman create localhost/openshift_local_image --entrypoint "")
@@ -229,10 +229,10 @@ jobs:
229229 shell : bash
230230 working-directory : ./crc-extension
231231 run : |
232- yarn install --check-files
232+ pnpm install --check-files
233233 # -- following https://github.com/crc-org/crc-extension/blob/main/oci/Containerfile.multistage --
234234 # build extension
235- yarn build
235+ pnpm build
236236 # make expected test folders
237237 mkdir -p tests/playwright/output/crc-tests-pd/plugins/crcextension
238238 mkdir -p tests/playwright/output/crc-tests-pd/plugins/ssoextension
@@ -244,10 +244,10 @@ jobs:
244244 working-directory : ./crc-extension
245245 shell : pwsh
246246 run : |
247- yarn install --check-files
247+ pnpm install --check-files
248248 # -- following https://github.com/crc-org/crc-extension/blob/main/oci/Containerfile.multistage --
249249 # build extension
250- yarn build
250+ pnpm build
251251 # make expected test folders
252252 mkdir tests\playwright\output\crc-tests-pd\plugins
253253 mkdir tests\playwright\output\crc-tests-pd\plugins\crcextension
@@ -284,7 +284,7 @@ jobs:
284284 working-directory : ./crc-extension
285285 env :
286286 PODMAN_DESKTOP_ARGS : ${{ github.workspace }}/podman-desktop
287- run : yarn test:e2e
287+ run : pnpm test:e2e
288288
289289 - name : Publish Test Report
290290 uses : mikepenz/action-junit-report@v6
0 commit comments