Path: blob/main/build/azure-pipelines/alpine/product-build-alpine-cli.yml
4772 views
parameters:1- name: VSCODE_ARCH2type: string3- name: VSCODE_CHECK_ONLY4type: boolean5default: false6- name: VSCODE_QUALITY7type: string89jobs:10- job: AlpineCLI_${{ parameters.VSCODE_ARCH }}11displayName: Alpine (${{ upper(parameters.VSCODE_ARCH) }})12timeoutInMinutes: 6013pool:14name: 1es-ubuntu-22.04-x6415os: linux16variables:17VSCODE_ARCH: ${{ parameters.VSCODE_ARCH }}18templateContext:19outputs:20- ${{ if not(parameters.VSCODE_CHECK_ONLY) }}:21- output: pipelineArtifact22targetPath: $(Build.ArtifactStagingDirectory)/vscode_cli_alpine_$(VSCODE_ARCH)_cli.tar.gz23artifactName: vscode_cli_alpine_$(VSCODE_ARCH)_cli24displayName: Publish vscode_cli_alpine_$(VSCODE_ARCH)_cli artifact25sbomBuildDropPath: $(Build.ArtifactStagingDirectory)/cli26sbomPackageName: "VS Code Alpine $(VSCODE_ARCH) CLI"27sbomPackageVersion: $(Build.SourceVersion)28steps:29- template: ../common/checkout.yml@self3031- task: NodeTool@032inputs:33versionSource: fromFile34versionFilePath: .nvmrc3536- template: ../cli/cli-apply-patches.yml@self3738- script: |39set -e40npm ci41workingDirectory: build42env:43GITHUB_TOKEN: "$(github-distro-mixin-password)"44displayName: Install build dependencies4546- task: Npm@147displayName: Download openssl prebuilt48inputs:49command: custom50customCommand: pack @vscode-internal/openssl-prebuilt@0.0.1151customRegistry: useFeed52customFeed: "Monaco/openssl-prebuilt"53workingDir: $(Build.ArtifactStagingDirectory)5455- script: |56set -e57mkdir $(Build.ArtifactStagingDirectory)/openssl58tar -xvzf $(Build.ArtifactStagingDirectory)/vscode-internal-openssl-prebuilt-0.0.11.tgz --strip-components=1 --directory=$(Build.ArtifactStagingDirectory)/openssl59displayName: Extract openssl prebuilt6061# inspired by: https://github.com/emk/rust-musl-builder/blob/main/Dockerfile62- bash: |63set -e64sudo apt-get update65sudo apt-get install -yq build-essential musl-dev musl-tools linux-libc-dev pkgconf xutils-dev lld66sudo ln -s "/usr/bin/g++" "/usr/bin/musl-g++" || echo "link exists"67displayName: Install musl build dependencies6869- template: ../cli/install-rust-posix.yml@self70parameters:71targets:72- ${{ if eq(parameters.VSCODE_ARCH, 'x64') }}:73- x86_64-unknown-linux-musl74- ${{ if eq(parameters.VSCODE_ARCH, 'arm64') }}:75- aarch64-unknown-linux-musl7677- ${{ if eq(parameters.VSCODE_ARCH, 'x64') }}:78- template: ../cli/cli-compile.yml@self79parameters:80VSCODE_CLI_TARGET: x86_64-unknown-linux-musl81VSCODE_CLI_ARTIFACT: vscode_cli_alpine_x64_cli82VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}83VSCODE_CLI_ENV:84CXX_aarch64-unknown-linux-musl: musl-g++85CC_aarch64-unknown-linux-musl: musl-gcc86OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/x64-linux-musl/lib87OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/x64-linux-musl/include88OPENSSL_STATIC: "1"8990- ${{ if eq(parameters.VSCODE_ARCH, 'arm64') }}:91- template: ../cli/cli-compile.yml@self92parameters:93VSCODE_CLI_TARGET: aarch64-unknown-linux-musl94VSCODE_CLI_ARTIFACT: vscode_cli_alpine_arm64_cli95VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}96VSCODE_CLI_ENV:97OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux-musl/lib98OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux-musl/include99OPENSSL_STATIC: "1"100SYSROOT_ARCH: arm64101IS_MUSL: "1"102103104