@@ -5,11 +5,17 @@ trigger:
55
66pr : none
77
8+ parameters :
9+ - name : PushToGithub
10+ default : true
11+ type : boolean
12+ displayName : Push packages to github
13+
814stages :
915 - stage : Compile
10- displayName : Compile sqlcmd on all 3 platforms
16+ displayName : Compile sqlcmd on all supported platforms
1117 jobs :
12- - job : Compile_sqlcmd
18+ - job : Sqlcmd
1319 strategy :
1420 matrix :
1521 linux :
@@ -37,36 +43,43 @@ stages:
3743 artifact : WindowsArm
3844 os :
3945 arch : arm
46+ linuxs390x :
47+ imageName : ' ubuntu-latest'
48+ artifact : LinuxS390x
49+ os :
50+ arch : s390x
4051 pool :
4152 vmImage : $(imageName)
4253 steps :
54+ - task : PowerShell@2
55+ displayName : Set last tag to variable
56+ name : getVersion
57+ inputs :
58+ targetType : ' inline'
59+ script : |
60+ $VERSION_TAG = git describe --tags (git rev-list --tags --max-count=1)
61+ Write-Host("##vso[task.setvariable variable=VERSION_TAG]$VERSION_TAG")
62+ Write-Host($VERSION_TAG)
4363 - template : build-common.yml
4464 parameters :
4565 OS : $(os)
4666 Arch : $(arch)
4767 ArtifactName : $(artifact)
68+ VersionTag : $(VERSION_TAG)
4869
4970 - stage : CreatePackages
5071 displayName : Create packages to publish
5172 jobs :
5273 - job : Sign_and_pack
5374 pool :
5475 vmImage : ' windows-latest'
76+ variables :
77+ versionTag : $[ stageDependencies.Compile.Sqlcmd.outputs['getVersion.VERSION_TAG'] ]
5578 steps :
56- - task : PowerShell@2
57- displayName : Set last tag to variable
58- inputs :
59- targetType : ' inline'
60- script : |
61- $VERSION_TAG = git describe --tags (git rev-list --tags --max-count=1)
62- Write-Host("##vso[task.setvariable variable=VERSION_TAG]$VERSION_TAG")
63- Write-Host($VERSION_TAG)
64-
6579 - task : DownloadPipelineArtifact@2
6680 inputs :
6781 buildType : ' current'
6882 targetPath : ' $(Pipeline.Workspace)'
69-
7083 - task : EsrpCodeSigning@1
7184 displayName : Sign Windows binary
7285 inputs :
@@ -126,15 +139,15 @@ stages:
126139 rootFolderOrFile : ' $(Pipeline.Workspace)\SqlcmdWindowsAmd64\Sqlcmd.exe'
127140 includeRootFolder : false
128141 archiveType : ' zip'
129- archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG )-windows-x64.zip'
142+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag )-windows-x64.zip'
130143
131144 - task : ArchiveFiles@2
132145 displayName : Zip Windows arm binary
133146 inputs :
134147 rootFolderOrFile : ' $(Pipeline.Workspace)\SqlcmdWindowsArm\Sqlcmd.exe'
135148 includeRootFolder : false
136149 archiveType : ' zip'
137- archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG )-windows-arm.zip'
150+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag )-windows-arm.zip'
138151
139152 - task : ArchiveFiles@2
140153 displayName : Tar Linux amd64 binary
@@ -143,7 +156,7 @@ stages:
143156 includeRootFolder : false
144157 archiveType : ' tar'
145158 tarCompression : ' bz2'
146- archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG )-linux-x64.tar.bz2'
159+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag )-linux-x64.tar.bz2'
147160
148161 - task : ArchiveFiles@2
149162 displayName : Tar Darwin binary
@@ -152,7 +165,7 @@ stages:
152165 includeRootFolder : false
153166 archiveType : ' tar'
154167 tarCompression : ' bz2'
155- archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG )-darwin-x64.tar.bz2'
168+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag )-darwin-x64.tar.bz2'
156169
157170 - task : ArchiveFiles@2
158171 displayName : Tar Linux arm64 binary
@@ -161,7 +174,16 @@ stages:
161174 includeRootFolder : false
162175 archiveType : ' tar'
163176 tarCompression : ' bz2'
164- archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-linux-arm64.tar.bz2'
177+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-linux-arm64.tar.bz2'
178+
179+ - task : ArchiveFiles@2
180+ displayName : Tar Linux s390x binary
181+ inputs :
182+ rootFolderOrFile : ' $(Pipeline.Workspace)\SqlcmdLinuxS390x'
183+ includeRootFolder : false
184+ archiveType : ' tar'
185+ tarCompression : ' bz2'
186+ archiveFile : ' $(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-linux-s390x.tar.bz2'
165187
166188 - task : PublishPipelineArtifact@1
167189 displayName : ' Publish release archives'
@@ -170,12 +192,13 @@ stages:
170192 artifactName : SqlcmdRelease
171193
172194 - task : GitHubRelease@1
195+ condition : eq('${{ parameters.PushToGithub}}', 'true')
173196 inputs :
174197 gitHubConnection : ' gosqlcmd_github'
175198 repositoryName : ' $(Build.Repository.Name)'
176199 action : ' create'
177200 target : ' $(Build.SourceVersion)'
178201 tagSource : ' userSpecifiedTag'
179- tag : ' $(VERSION_TAG )'
202+ tag : ' $(versionTag )'
180203 changeLogCompareToRelease : ' lastFullRelease'
181204 changeLogType : ' commitBased'
0 commit comments