Skip to content

Commit 82dffe0

Browse files
authored
Merge pull request #100 from microsoft/stuartpa/dashdashversion
Add --version flag
2 parents da25039 + 2b9065d commit 82dffe0

File tree

5 files changed

+322
-314
lines changed

5 files changed

+322
-314
lines changed

build/azure-pipelines/build-common.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ parameters:
77
default:
88
- name: ArtifactName
99
type: string
10+
- name: VersionTag
11+
type: string
12+
default: $(Build.BuildNumber)
1013

11-
steps:
14+
steps:
1215
- task: GoTool@0
1316
inputs:
1417
version: '1.18'
@@ -45,7 +48,7 @@ steps:
4548
displayName: 'Go: build sqlcmd'
4649
inputs:
4750
command: 'build'
48-
arguments: '-o $(Build.BinariesDirectory)'
51+
arguments: '-o $(Build.BinariesDirectory) -ldflags="-X main.version=${{ parameters.VersionTag }}"'
4952
workingDirectory: '$(Build.SourcesDirectory)/cmd/sqlcmd'
5053
env:
5154
GOOS: ${{ parameters.OS }}

build/azure-pipelines/build-product.yml

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ stages:
1515
- stage: Compile
1616
displayName: Compile sqlcmd on all supported platforms
1717
jobs:
18-
- job: Compile_sqlcmd
18+
- job: Sqlcmd
1919
strategy:
2020
matrix:
2121
linux:
@@ -51,33 +51,35 @@ stages:
5151
pool:
5252
vmImage: $(imageName)
5353
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)
5463
- template: build-common.yml
5564
parameters:
5665
OS: $(os)
5766
Arch: $(arch)
5867
ArtifactName: $(artifact)
68+
VersionTag: $(VERSION_TAG)
5969

6070
- stage: CreatePackages
6171
displayName: Create packages to publish
6272
jobs:
6373
- job: Sign_and_pack
6474
pool:
6575
vmImage: 'windows-latest'
76+
variables:
77+
versionTag: $[ stageDependencies.Compile.Sqlcmd.outputs['getVersion.VERSION_TAG'] ]
6678
steps:
67-
- task: PowerShell@2
68-
displayName: Set last tag to variable
69-
inputs:
70-
targetType: 'inline'
71-
script: |
72-
$VERSION_TAG = git describe --tags (git rev-list --tags --max-count=1)
73-
Write-Host("##vso[task.setvariable variable=VERSION_TAG]$VERSION_TAG")
74-
Write-Host($VERSION_TAG)
75-
7679
- task: DownloadPipelineArtifact@2
7780
inputs:
7881
buildType: 'current'
7982
targetPath: '$(Pipeline.Workspace)'
80-
8183
- task: EsrpCodeSigning@1
8284
displayName: Sign Windows binary
8385
inputs:
@@ -137,15 +139,15 @@ stages:
137139
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindowsAmd64\Sqlcmd.exe'
138140
includeRootFolder: false
139141
archiveType: 'zip'
140-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-windows-x64.zip'
142+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-windows-x64.zip'
141143

142144
- task: ArchiveFiles@2
143145
displayName: Zip Windows arm binary
144146
inputs:
145147
rootFolderOrFile: '$(Pipeline.Workspace)\SqlcmdWindowsArm\Sqlcmd.exe'
146148
includeRootFolder: false
147149
archiveType: 'zip'
148-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-windows-arm.zip'
150+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-windows-arm.zip'
149151

150152
- task: ArchiveFiles@2
151153
displayName: Tar Linux amd64 binary
@@ -154,7 +156,7 @@ stages:
154156
includeRootFolder: false
155157
archiveType: 'tar'
156158
tarCompression: 'bz2'
157-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-linux-x64.tar.bz2'
159+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-linux-x64.tar.bz2'
158160

159161
- task: ArchiveFiles@2
160162
displayName: Tar Darwin binary
@@ -163,7 +165,7 @@ stages:
163165
includeRootFolder: false
164166
archiveType: 'tar'
165167
tarCompression: 'bz2'
166-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-darwin-x64.tar.bz2'
168+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-darwin-x64.tar.bz2'
167169

168170
- task: ArchiveFiles@2
169171
displayName: Tar Linux arm64 binary
@@ -172,7 +174,7 @@ stages:
172174
includeRootFolder: false
173175
archiveType: 'tar'
174176
tarCompression: 'bz2'
175-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-linux-arm64.tar.bz2'
177+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-linux-arm64.tar.bz2'
176178

177179
- task: ArchiveFiles@2
178180
displayName: Tar Linux s390x binary
@@ -181,7 +183,7 @@ stages:
181183
includeRootFolder: false
182184
archiveType: 'tar'
183185
tarCompression: 'bz2'
184-
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(VERSION_TAG)-linux-s390x.tar.bz2'
186+
archiveFile: '$(Build.ArtifactStagingDirectory)/sqlcmd-$(versionTag)-linux-s390x.tar.bz2'
185187

186188
- task: PublishPipelineArtifact@1
187189
displayName: 'Publish release archives'
@@ -197,6 +199,6 @@ stages:
197199
action: 'create'
198200
target: '$(Build.SourceVersion)'
199201
tagSource: 'userSpecifiedTag'
200-
tag: '$(VERSION_TAG)'
202+
tag: '$(versionTag)'
201203
changeLogCompareToRelease: 'lastFullRelease'
202204
changeLogType: 'commitBased'

0 commit comments

Comments
 (0)