Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/build/azure-pipelines/darwin/product-build-darwin-cli-sign.yml
5419 views
1
parameters:
2
- name: VSCODE_BUILD_MACOS
3
type: boolean
4
- name: VSCODE_BUILD_MACOS_ARM64
5
type: boolean
6
7
jobs:
8
- job: macOSCLISign
9
timeoutInMinutes: 90
10
templateContext:
11
outputParentDirectory: $(Build.ArtifactStagingDirectory)/out
12
outputs:
13
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
14
- output: pipelineArtifact
15
targetPath: $(Build.ArtifactStagingDirectory)/out/vscode_cli_darwin_x64_cli/vscode_cli_darwin_x64_cli.zip
16
artifactName: vscode_cli_darwin_x64_cli
17
displayName: Publish signed artifact with ID vscode_cli_darwin_x64_cli
18
sbomBuildDropPath: $(Build.ArtifactStagingDirectory)/sign/unsigned_vscode_cli_darwin_x64_cli
19
sbomPackageName: "VS Code macOS x64 CLI"
20
sbomPackageVersion: $(Build.SourceVersion)
21
- ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}:
22
- output: pipelineArtifact
23
targetPath: $(Build.ArtifactStagingDirectory)/out/vscode_cli_darwin_arm64_cli/vscode_cli_darwin_arm64_cli.zip
24
artifactName: vscode_cli_darwin_arm64_cli
25
displayName: Publish signed artifact with ID vscode_cli_darwin_arm64_cli
26
sbomBuildDropPath: $(Build.ArtifactStagingDirectory)/sign/unsigned_vscode_cli_darwin_arm64_cli
27
sbomPackageName: "VS Code macOS arm64 CLI"
28
sbomPackageVersion: $(Build.SourceVersion)
29
steps:
30
- template: ../common/checkout.yml@self
31
32
- task: NodeTool@0
33
inputs:
34
versionSource: fromFile
35
versionFilePath: .nvmrc
36
37
- task: AzureKeyVault@2
38
displayName: "Azure Key Vault: Get Secrets"
39
inputs:
40
azureSubscription: vscode
41
KeyVaultName: vscode-build-secrets
42
SecretsFilter: "github-distro-mixin-password"
43
44
- script: node build/setup-npm-registry.ts $NPM_REGISTRY build
45
condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none'))
46
displayName: Setup NPM Registry
47
48
- script: |
49
set -e
50
# Set the private NPM registry to the global npmrc file
51
# so that authentication works for subfolders like build/, remote/, extensions/ etc
52
# which does not have their own .npmrc file
53
npm config set registry "$NPM_REGISTRY"
54
echo "##vso[task.setvariable variable=NPMRC_PATH]$(npm config get userconfig)"
55
condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none'))
56
displayName: Setup NPM
57
58
- task: npmAuthenticate@0
59
inputs:
60
workingFile: $(NPMRC_PATH)
61
condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none'))
62
displayName: Setup NPM Authentication
63
64
- script: |
65
set -e
66
67
for i in {1..5}; do # try 5 times
68
npm ci && break
69
if [ $i -eq 5 ]; then
70
echo "Npm install failed too many times" >&2
71
exit 1
72
fi
73
echo "Npm install failed $i, trying again..."
74
done
75
workingDirectory: build
76
env:
77
GITHUB_TOKEN: "$(github-distro-mixin-password)"
78
displayName: Install build dependencies
79
80
- template: ./steps/product-build-darwin-cli-sign.yml@self
81
parameters:
82
VSCODE_CLI_ARTIFACTS:
83
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
84
- unsigned_vscode_cli_darwin_x64_cli
85
- ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}:
86
- unsigned_vscode_cli_darwin_arm64_cli
87
88