-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpublish.yml
More file actions
207 lines (194 loc) · 7.91 KB
/
Copy pathpublish.yml
File metadata and controls
207 lines (194 loc) · 7.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
name: $(Date:yyyyMMdd)$(Rev:.r)
trigger:
branches:
include:
- main
pr: none
resources:
repositories:
- repository: templates
type: github
name: microsoft/vscode-engineering
ref: main
endpoint: Monaco
parameters:
- name: publishPackage
displayName: Publish @vscode/os-proxy-resolver packages to npm
type: boolean
default: false
- name: publishPackageToAzureArtifacts
displayName: Publish @vscode/os-proxy-resolver packages to Azure Artifacts
type: boolean
default: false
extends:
template: azure-pipelines/npm-package/pipeline.yml@templates
parameters:
npmPackages:
- name: os-proxy-resolver-win32-x64-msvc
packagePlatform: Windows
rustTargets: x86_64-pc-windows-msvc
workingDirectory: npm/platforms/win32-x64-msvc
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: azure-pipelines/steps/build-windows-addon.yml@self
parameters:
target: x86_64-pc-windows-msvc
test: true
- name: os-proxy-resolver-win32-arm64-msvc
packagePlatform: Windows
rustTargets: aarch64-pc-windows-msvc
workingDirectory: npm/platforms/win32-arm64-msvc
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
# The shared package template uses a Windows x64 agent. This addon is
# runtime-tested on the native windows-11-arm GitHub CI runner.
- template: azure-pipelines/steps/build-windows-addon.yml@self
parameters:
target: aarch64-pc-windows-msvc
- name: os-proxy-resolver-darwin-x64
packagePlatform: MacOS
rustTargets: x86_64-apple-darwin
workingDirectory: npm/platforms/darwin-x64
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: azure-pipelines/steps/build-macos-addon.yml@self
parameters:
target: x86_64-apple-darwin
test: true
- name: os-proxy-resolver-darwin-arm64
packagePlatform: MacOS
rustTargets: aarch64-apple-darwin
workingDirectory: npm/platforms/darwin-arm64
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
# The shared package template uses a macOS x64 agent. This addon is
# runtime-tested on the native macOS arm64 GitHub CI runner.
- template: azure-pipelines/steps/build-macos-addon.yml@self
parameters:
target: aarch64-apple-darwin
- name: os-proxy-resolver-linux-x64-gnu
packagePlatform: Linux
rustTargets: x86_64-unknown-linux-gnu
workingDirectory: npm/platforms/linux-x64-gnu
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: /azure-pipelines/common/steps/setup-linux-toolchains.yml@templates
parameters:
arch: x64
nodeVersion: 22.x
- template: azure-pipelines/steps/build-linux-addon.yml@self
parameters:
target: x86_64-unknown-linux-gnu
test: true
- name: os-proxy-resolver-linux-arm64-gnu
packagePlatform: Linux
rustTargets: aarch64-unknown-linux-gnu
workingDirectory: npm/platforms/linux-arm64-gnu
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: /azure-pipelines/common/steps/setup-linux-toolchains.yml@templates
parameters:
arch: arm64
nodeVersion: 22.x
# The network-isolated x64 package agent has no ARM Node runtime.
# GitHub CI runs the Rust wasm2c backend under QEMU for this target.
- template: azure-pipelines/steps/build-linux-addon.yml@self
parameters:
target: aarch64-unknown-linux-gnu
- name: os-proxy-resolver-linux-x64-musl
packagePlatform: Linux
rustTargets: x86_64-unknown-linux-musl
workingDirectory: npm/platforms/linux-x64-musl
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: /azure-pipelines/common/steps/setup-linux-toolchains.yml@templates
parameters:
arch: x64
nodeVersion: 22.x
- template: azure-pipelines/steps/build-linux-musl-addon.yml@self
parameters:
target: x86_64-unknown-linux-musl
- name: os-proxy-resolver-linux-arm64-musl
packagePlatform: Linux
rustTargets: aarch64-unknown-linux-musl
workingDirectory: npm/platforms/linux-arm64-musl
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: /azure-pipelines/common/steps/setup-linux-toolchains.yml@templates
parameters:
arch: arm64
nodeVersion: 22.x
# The x64 package agent cannot load an arm64 musl Node addon; GitHub
# CI cross-builds and runs the Rust tests under qemu.
- template: azure-pipelines/steps/build-linux-musl-addon.yml@self
parameters:
target: aarch64-unknown-linux-musl
- name: os-proxy-resolver-linux-arm-gnueabihf
packagePlatform: Linux
rustTargets: armv7-unknown-linux-gnueabihf
workingDirectory: npm/platforms/linux-arm-gnueabihf
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
ghCreateTag: false
ghCreateRelease: false
testPlatforms: {}
buildSteps:
- template: /azure-pipelines/common/steps/setup-linux-toolchains.yml@templates
parameters:
arch: arm
nodeVersion: 22.x
# The network-isolated x64 package agent has no ARMv7 Node runtime.
# GitHub CI runs the Rust wasm2c backend under QEMU for this target.
- template: azure-pipelines/steps/build-linux-addon.yml@self
parameters:
target: armv7-unknown-linux-gnueabihf
- name: os-proxy-resolver
workingDirectory: .
publishPackage: ${{ parameters.publishPackage }}
publishPackageToAzureArtifacts: ${{ parameters.publishPackageToAzureArtifacts }}
skipAPIScan: true
testPlatforms: {}
buildSteps:
- script: npm run verify:packages
displayName: Verify package versions