@@ -12,47 +12,38 @@ variables:
12
12
ExecutableName : ' arduino-language-server'
13
13
14
14
jobs :
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'
16
24
pool :
17
- vmImage : ' ubuntu-16.04 '
25
+ vmImage : $(imageName)
18
26
steps :
19
27
- task : GoTool@0
20
28
inputs :
21
29
version : ' 1.12'
22
30
- script : |
23
- go build -o "$(Build.ArtifactStagingDirectory )/$(ExecutableName)_linux_amd64 "
31
+ go build -o "$(Build.BinariesDirectory )/$(Agent.OS)_amd64/$( ExecutableName)"
24
32
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
35
35
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')
50
44
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