Files
vscode/build/azure-pipelines/linux/snap-build-linux.yml
Tyler Leonhardt c80a39136e first attempt
actually run

ok run it for real

actually work

parameter syntax

monaco

logging

env var is always string

use variables

use global params

try idea to stop looping

move variables

wrap in quotes

rename all the artifacts

try downloading

up timeout

misc

underscore

add auth

log everything we need to

typo

typo

publish linux client archives too

renamed all that needed to be renamed

better error handling

raname windows assets

first attempt at letting new code handle releasing with macOS

move to $env

remove gate

include updated createAsset.js

onboard windows client

include js

add linux client

add built js

move over all publishing

update distro

use branch name?

processed artifacts and fix win32 server platforms

publish what artifacts were published

use download and more more to powershell

put it all in exec

actually in directory

fix path again

create file to be uploaded

move to all PowerShell

rename to publish and clean up code

update createAsset

use distro 2

more commented out code and add displayNames

address feedback
2021-05-05 14:37:16 -07:00

61 lines
1.9 KiB
YAML

steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
- task: DownloadPipelineArtifact@0
displayName: "Download Pipeline Artifact"
inputs:
artifactName: snap-$(VSCODE_ARCH)
targetPath: .build/linux/snap-tarball
- script: |
set -e
# Get snapcraft version
snapcraft --version
# Make sure we get latest packages
sudo apt-get update
sudo apt-get upgrade -y
# Define variables
REPO="$(pwd)"
SNAP_ROOT="$REPO/.build/linux/snap/$(VSCODE_ARCH)"
# Install build dependencies
(cd build && yarn)
# Unpack snap tarball artifact, in order to preserve file perms
SNAP_TARBALL_PATH="$REPO/.build/linux/snap-tarball/snap-$(VSCODE_ARCH).tar.gz"
(cd .build/linux && tar -xzf $SNAP_TARBALL_PATH)
# Create snap package
BUILD_VERSION="$(date +%s)"
SNAP_FILENAME="code-$VSCODE_QUALITY-$(VSCODE_ARCH)-$BUILD_VERSION.snap"
SNAP_PATH="$SNAP_ROOT/$SNAP_FILENAME"
case $(VSCODE_ARCH) in
x64) SNAPCRAFT_TARGET_ARGS="" ;;
*) SNAPCRAFT_TARGET_ARGS="--target-arch $(VSCODE_ARCH)" ;;
esac
(cd $SNAP_ROOT/code-* && sudo --preserve-env snapcraft prime $SNAPCRAFT_TARGET_ARGS && snap pack prime --compression=lzo --filename="$SNAP_PATH")
# Export SNAP_PATH
echo "##vso[task.setvariable variable=SNAP_PATH]$SNAP_PATH"
displayName: Prepare for publish
- publish: $(SNAP_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_snap
displayName: Publish snap package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))