Skip to content

Commit cc31fc8

Browse files
ramyklKyleTryonmarboledacci
authored
Feat: adding support for pnpm (#199)
* adding support for pnpm * fixing spellcheck * fixing merge * simplifying the uninstall of pnpm * fixing spellcheck errors * fixing another issue from merge * fixing tests * fixing steps in test-deploy * fixing steps in test-deploy * fixing tests * fixing listing of packages for pnpm * adding integration test to install pnpm * adding job to the workflow * adding source command so the pnpm will be on the commandline * fixing so determine lockfile finds the correct lockfiles * moving steps to a better location * updating the lock file to the latest since updates to master * updating test deploy to use the latest version of pnpm --------- Co-authored-by: Kyle a.k.a. TechSquidTV <[email protected]> Co-authored-by: marboledacci <[email protected]>
1 parent 6fcc303 commit cc31fc8

File tree

14 files changed

+4750
-16
lines changed

14 files changed

+4750
-16
lines changed

.circleci/test-deploy.yml

Lines changed: 139 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,22 @@ jobs:
4646
echo "Node version 16 not found"
4747
exit 1
4848
fi
49+
integration-test-install-pnpm:
50+
parameters:
51+
os:
52+
type: executor
53+
executor: <<parameters.os>>
54+
steps:
55+
- checkout
56+
- node/install:
57+
install-pnpm: true # Test the install of PNPM
58+
pnpm-version: "9.7.1"
59+
- run:
60+
command: |
61+
if ! pnpm --version | grep -q "9.7.1"; then
62+
echo "pnpm version 9.7.1 not found"
63+
exit 1
64+
fi
4965
5066
integration-test-install-latest:
5167
parameters:
@@ -122,6 +138,21 @@ jobs:
122138
cache-version: override-v3
123139
app-dir: "~/project/sample"
124140
- run: cd ~/project/sample && npm run test
141+
integration-test-pnpm:
142+
executor:
143+
name: node/default
144+
steps:
145+
- checkout
146+
- run:
147+
name: Remove other lock files
148+
command: |
149+
rm ~/project/sample/package-lock.json
150+
rm ~/project/sample/yarn.lock
151+
- node/install-packages:
152+
pkg-manager: pnpm
153+
cache-version: pnpm-v1
154+
app-dir: "~/project/sample"
155+
- run: cd ~/project/sample && pnpm test
125156
integration-test-yarn:
126157
executor:
127158
name: node/default
@@ -151,6 +182,11 @@ workflows:
151182
matrix:
152183
parameters:
153184
os: [linux, macos, machine]
185+
- integration-test-install-pnpm:
186+
filters: *filters
187+
matrix:
188+
parameters:
189+
os: [ linux, macos, machine ]
154190
- integration-test-install-latest:
155191
filters: *filters
156192
matrix:
@@ -167,20 +203,51 @@ workflows:
167203
app-dir: "~/project/sample"
168204
cache-version: v4
169205
test-results-for: jest
206+
setup:
207+
- run:
208+
name: Remove other lock files
209+
command: |
210+
rm ~/project/sample/pnpm-lock.yaml
211+
rm ~/project/sample/yarn.lock
170212
- node/test:
171213
filters: *filters
172214
name: node-yarn-jest-test-job
173215
app-dir: "~/project/sample"
174216
cache-version: v4
175217
test-results-for: jest
176218
pkg-manager: yarn
219+
setup:
220+
- run:
221+
name: Remove other lock files
222+
command: |
223+
rm ~/project/sample/package-lock.json
224+
rm ~/project/sample/pnpm-lock.yaml
225+
- node/test:
226+
filters: *filters
227+
name: node-pnpm-jest-test-job
228+
app-dir: "~/project/sample"
229+
cache-version: v4
230+
test-results-for: jest
231+
pkg-manager: pnpm
232+
setup:
233+
- run:
234+
name: Remove other lock files
235+
command: |
236+
rm ~/project/sample/package-lock.json
237+
rm ~/project/sample/yarn.lock
177238
- node/test:
178239
filters: *filters
179240
name: node-npm-mocha-test-job
180241
app-dir: "~/project/sample"
181242
cache-version: v4
182243
test-results-for: mocha
183244
run-command: testmocha
245+
setup:
246+
- run:
247+
name: Remove other lock files
248+
command: |
249+
rm ~/project/sample/pnpm-lock.yaml
250+
rm ~/project/sample/yarn.lock
184251
- node/test:
185252
filters: *filters
186253
name: node-yarn-mocha-test-job
@@ -189,41 +256,108 @@ workflows:
189256
test-results-for: mocha
190257
pkg-manager: yarn
191258
run-command: testmocha
259+
setup:
260+
- run:
261+
name: Remove other lock files
262+
command: |
263+
rm ~/project/sample/package-lock.json
264+
rm ~/project/sample/pnpm-lock.yaml
192265
- node/test:
193-
filters: *filters
266+
filters: *filters
267+
name: node-pnpm-mocha-test-job
268+
app-dir: "~/project/sample"
269+
cache-version: v4
270+
test-results-for: mocha
271+
pkg-manager: pnpm
272+
run-command: testmocha
273+
setup:
274+
- run:
275+
name: Remove other lock files
276+
command: |
277+
rm ~/project/sample/package-lock.json
278+
rm ~/project/sample/yarn.lock
279+
- node/test:
280+
filters: *filters
194281
name: node-yarn-mocha-with-test-result-path-job
195282
app-dir: "~/project/sample"
196283
cache-version: v4
197284
test-results-for: mocha
198285
pkg-manager: yarn
199286
run-command: testmocha
200287
test-results-path: sample/test-results.xml
288+
setup:
289+
- run:
290+
name: Remove other lock files
291+
command: |
292+
rm ~/project/sample/package-lock.json
293+
rm ~/project/sample/pnpm-lock.yaml
201294
- node/test:
202295
filters: *filters
203296
name: node-test-results-file-job
204297
app-dir: "~/project/sample"
205298
cache-version: v4
206299
test-results-path: sample/other-junit.xml
300+
setup:
301+
- run:
302+
name: Remove other lock files
303+
command: |
304+
rm ~/project/sample/pnpm-lock.yaml
305+
rm ~/project/sample/yarn.lock
207306
- node/test:
208307
filters: *filters
209308
name: node-test-no-junit
210309
app-dir: "~/project/sample"
211310
cache-version: v4
311+
setup:
312+
- run:
313+
name: Remove other lock files
314+
command: |
315+
rm ~/project/sample/pnpm-lock.yaml
316+
rm ~/project/sample/yarn.lock
212317
- node/run:
213318
filters: *filters
214319
name: node-run-npm-job
215320
app-dir: "~/project/sample"
216321
cache-version: v4
217322
npm-run: build
323+
setup:
324+
- run:
325+
name: Remove other lock files
326+
command: |
327+
rm ~/project/sample/pnpm-lock.yaml
328+
rm ~/project/sample/yarn.lock
218329
- node/run:
219330
filters: *filters
220331
name: node-run-yarn-job
221332
app-dir: "~/project/sample"
222333
cache-version: v5
223334
pkg-manager: yarn
224335
yarn-run: build
336+
setup:
337+
- run:
338+
name: Remove other lock files
339+
command: |
340+
rm ~/project/sample/package-lock.json
341+
rm ~/project/sample/pnpm-lock.yaml
342+
- node/run:
343+
filters: *filters
344+
name: node-run-pnpm-job
345+
app-dir: "~/project/sample"
346+
cache-version: v5
347+
pkg-manager: pnpm
348+
pnpm-run: build
349+
setup:
350+
- run:
351+
name: Remove other lock files
352+
command: |
353+
rm ~/project/sample/package-lock.json
354+
rm ~/project/sample/yarn.lock
225355
- integration-test-override-ci:
226-
filters: *filters
356+
filters: *filters
357+
- integration-test-override-ci-windows:
358+
filters: *filters
359+
- integration-test-pnpm:
360+
filters: *filters
227361
- integration-test-override-ci-windows:
228362
filters: *filters
229363
- integration-test-yarn:
@@ -241,10 +375,13 @@ workflows:
241375
- integration-test-install-specified-version
242376
- integration-test-install-latest
243377
- integration-test-install-lts
378+
- integration-test-install-pnpm
379+
- integration-test-pnpm
244380
- node-yarn-mocha-with-test-result-path-job
245381
- node-test-results-file-job
246382
- node-run-npm-job
247383
- node-run-yarn-job
384+
- node-run-pnpm-job
248385
github_token: GHI_TOKEN
249386
context: orb-publisher
250387
filters: *release-filters

0 commit comments

Comments
 (0)