Skip to content
110 changes: 110 additions & 0 deletions .ci/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: $(Build.SourceBranchName)-$(Build.SourceVersion)

trigger:
- master

jobs:
- job: buildMacos
displayName: Build macOS
condition: succeeded()
pool:
vmImage: macOS-10.13
demands: node.js

steps:
- template: build.yml

- script: |
echo '##vso[task.setvariable variable=binPath]'$(esy x which Bin)
displayName: "Save binPath variable"

- task: PublishPipelineArtifact@0
displayName: 'Publish Artifact: macOS'
inputs:
targetPath: $(binPath)
artifactName: macOS

- job: buildWindows
displayName: Build Windows
condition: succeeded()
pool:
vmImage: vs2017-win2016
demands: node.js

steps:
- template: build.yml

- script: |
echo '##vso[task.setvariable variable=binPath]'$(esy x which Bin.exe)
displayName: "Save binPath variable"

- task: PublishPipelineArtifact@0
displayName: 'Publish Artifact: Windows'
inputs:
targetPath: $(binPath)
artifactName: Windows

- job: buildLinux
displayName: Build Linux
condition: succeeded()
pool:
vmImage: ubuntu-16.04
demands: node.js

steps:
- template: build.yml

- script: |
echo '##vso[task.setvariable variable=binPath]'$(esy x which Bin)
displayName: "Save binPath variable"

- task: PublishPipelineArtifact@0
displayName: 'Publish Artifact: Linux'
inputs:
targetPath: $(binPath)
artifactName: Linux

- job: Bundle
displayName: Bundle builds
dependsOn:
- buildLinux
- buildMacos
- buildWindows
condition: succeeded()
pool:
vmImage: macOS-10.13
demands: node.js

steps:
- task: DownloadPipelineArtifact@0
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: Linux

- task: DownloadPipelineArtifact@0
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: macOS

- task: DownloadPipelineArtifact@0
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: Windows

- script: 'mv $(Build.ArtifactStagingDirectory)/Linux/Bin.exe $(Build.SourcesDirectory)/editor-extensions/vscode/bin.native.linux'
displayName: 'Move Linux binary to correct place'

- script: 'mv $(Build.ArtifactStagingDirectory)/macOS/Bin.exe $(Build.SourcesDirectory)/editor-extensions/vscode/bin.native'
displayName: 'Move macOS binary to correct place'

- script: 'mv $(Build.ArtifactStagingDirectory)/Windows/Bin.exe $(Build.SourcesDirectory)/editor-extensions/vscode/bin.native.exe'
displayName: 'Move Windows binary to correct place'

- script: 'npm run zip'
displayName: 'npm run zip'

- task: PublishBuildArtifacts@1
displayName: 'Publish zip'
inputs:
PathtoPublish: './editor-extensions'
ArtifactName: editorExtensions
14 changes: 14 additions & 0 deletions .ci/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
steps:
- task: NodeTool@0
displayName: 'Use Node 8.x'
inputs:
versionSpec: 8.x

- script: 'npm install -g esy@0.4.3 --unsafe-perm'
displayName: 'npm install -g esy'

- script: 'esy install'
displayName: 'esy install'

- script: 'esy build'
displayName: 'esy build'