@@ -12,47 +12,38 @@ variables:
1212 ExecutableName : ' arduino-language-server'
1313
1414jobs :
15- - job : Linux_Build
15+ - job : Build
16+ strategy :
17+ matrix :
18+ linux :
19+ imageName : ' ubuntu-16.04'
20+ mac :
21+ imageName : ' macos-10.13'
22+ windows :
23+ imageName : ' vs2017-win2016'
1624 pool :
17- vmImage : ' ubuntu-16.04 '
25+ vmImage : $(imageName)
1826 steps :
1927 - task : GoTool@0
2028 inputs :
2129 version : ' 1.12'
2230 - script : |
23- go build -o "$(Build.ArtifactStagingDirectory )/$(ExecutableName)_linux_amd64 "
31+ go build -o "$(Build.BinariesDirectory )/$(Agent.OS)_amd64/$( ExecutableName)"
2432 go test ./...
25- displayName: 'Generate builds'
26- - task : PublishBuildArtifacts@1
27- displayName : ' Publish Artifacts'
28- condition : succeededOrFailed()
29-
30- - job : MacOS_Build
31- pool :
32- vmImage : ' xcode9-macos10.13'
33- steps :
34- - task : GoTool@0
33+ displayName: 'Build and Test'
34+ - task : ArchiveFiles@2
3535 inputs :
36- version : ' 1.12'
37- - script : |
38- go build -o "$(Build.ArtifactStagingDirectory)/$(ExecutableName)_darwin_amd64"
39- go test ./...
40- displayName: 'Generate builds'
41- - task : PublishBuildArtifacts@1
42- displayName : ' Publish Artifacts'
43- condition : succeededOrFailed()
44-
45- - job : Windows_Build
46- pool :
47- vmImage : ' vs2017-win2016'
48- steps :
49- - task : GoTool@0
36+ rootFolderOrFile : ' $(Build.BinariesDirectory)/$(Agent.OS)_amd64'
37+ includeRootFolder : false
38+ archiveFile : ' $(Build.BinariesDirectory)/archive/$(ExecutableName)_$(Agent.OS)_amd64.zip'
39+ archiveType : ' zip'
40+ - publish : ' $(Build.BinariesDirectory)/archive'
41+ artifact : ' binary_$(Agent.OS)'
42+ - task : S3Upload@1
43+ condition : in(variables['Build.Reason'], 'Manual', 'Schedule')
5044 inputs :
51- version : ' 1.12'
52- - script : |
53- go build -o "$(Build.ArtifactStagingDirectory)/$(ExecutableName)_windows_amd64.exe"
54- go test ./...
55- displayName: 'Generate builds'
56- - task : PublishBuildArtifacts@1
57- displayName : ' Publish Artifacts'
58- condition : succeededOrFailed()
45+ awsCredentials : ' language-server-s3-upload'
46+ bucketName : ' arduino-downloads-prod-beagle'
47+ sourceFolder : ' $(Build.BinariesDirectory)/archive'
48+ globExpressions : ' *.zip'
49+ targetFolder : ' arduino-language-server/nightly'
0 commit comments