1
1
version : 2.1
2
2
3
3
orbs :
4
- windows : circleci/windows@2.4.1
4
+ windows : circleci/windows@5.0
5
5
6
6
executors :
7
7
linux :
@@ -23,7 +23,7 @@ defaults:
23
23
- " 12.22"
24
24
- " 14.21"
25
25
- &node-maintenance-lts "16.20"
26
- - &node-active-lts "18.17 "
26
+ - &node-active-lts "18.18 "
27
27
- &node-current "20.5"
28
28
pkg-cache-path : &pkg-cache-path /tmp/pkg-node-binaries
29
29
ldid-version : &ldid-version 2.1.5-procursus7 # https://github.com/ProcursusTeam/ldid
@@ -76,23 +76,38 @@ commands:
76
76
name : Restore pkg cache
77
77
keys :
78
78
- &pkg-cache-key pkg-cache-<< parameters.targets >>-<< parameters.node-version >>
79
- - run :
80
- name : Create the Spectral Binary
81
- environment :
82
- PKG_CACHE_PATH : *pkg-cache-path
83
- command : |
84
- NODE_VERSION=$(echo "<< parameters.node-version >>" | awk -F "." '{ print $1 }')
85
- TARGETS=$(echo "<< parameters.targets >>" | awk -v node_version="$NODE_VERSION" -F "," '{for (i=1;i<=NF;i++) printf "node" node_version "-" $i "," }' | sed "s/,$/\n/")
86
- export ARCH=$(echo << parameters.targets >> | awk 'match($0, /-(arm64|x64)/){ print substr($0, RSTART+1, RLENGTH-1) }')
87
-
88
- if [ "<< parameters.bytecode >>" = true ]
89
- then
90
- yarn workspace @stoplight/spectral-cli pkg . --public --public-packages "*" --targets $TARGETS --output binaries/spectral
91
- else
92
- yarn workspace @stoplight/spectral-cli pkg . --no-bytecode --public --public-packages "*" --targets $TARGETS --output binaries/spectral
93
- fi
94
-
95
- (cd packages/cli/binaries && ls . | sed -n -E 's/^(spectral)-(alpine|linux|macos)$/mv "\1-\2" "\1-\2"-$ARCH/p' | sh)
79
+ - when :
80
+ condition : &is-windows
81
+ equal :
82
+ - windows
83
+ - << parameters.targets >>
84
+ steps :
85
+ - run :
86
+ name : Create the Spectral Binary
87
+ environment :
88
+ PKG_CACHE_PATH : *pkg-cache-path
89
+ command : |
90
+ yarn workspace @stoplight/spectral-cli pkg . --public --public-packages "*" --targets node<< parameters.node-version >>-windows --output binaries/spectral
91
+ - unless :
92
+ condition : *is-windows
93
+ steps :
94
+ - run :
95
+ name : Create the Spectral Binary
96
+ environment :
97
+ PKG_CACHE_PATH : *pkg-cache-path
98
+ command : |
99
+ NODE_VERSION=$(echo "<< parameters.node-version >>" | awk -F "." '{ print $1 }')
100
+ TARGETS=$(echo "<< parameters.targets >>" | awk -v node_version="$NODE_VERSION" -F "," '{for (i=1;i<=NF;i++) printf "node" node_version "-" $i "," }' | sed "s/,$/\n/")
101
+ export ARCH=$(echo << parameters.targets >> | awk 'match($0, /-(arm64|x64)/){ print substr($0, RSTART+1, RLENGTH-1) }')
102
+
103
+ if [ "<< parameters.bytecode >>" = true ]
104
+ then
105
+ yarn workspace @stoplight/spectral-cli pkg . --public --public-packages "*" --targets $TARGETS --output binaries/spectral
106
+ else
107
+ yarn workspace @stoplight/spectral-cli pkg . --no-bytecode --public --public-packages "*" --targets $TARGETS --output binaries/spectral
108
+ fi
109
+
110
+ (cd packages/cli/binaries && ls . | sed -n -E 's/^(spectral)-(alpine|linux|macos)$/mv "\1-\2" "\1-\2"-$ARCH/p' | sh)
96
111
- save_cache :
97
112
name : Retain pkg cache
98
113
key : *pkg-cache-key
@@ -264,13 +279,18 @@ jobs:
264
279
name : windows/default
265
280
steps :
266
281
- checkout
282
+ - run :
283
+ name : Enable Corepack
284
+ command : |
285
+ npm install -g corepack
286
+ corepack enable
267
287
- cached-dependencies
268
288
- build
269
289
- test-node :
270
290
max-workers : 3
271
291
- test-harness :
272
292
os : windows
273
- node-version : current
293
+ node-version : *node-active-lts
274
294
max-workers : 3
275
295
276
296
build-nix-binaries :
0 commit comments