Skip to content

Commit 9064434

Browse files
authored
Merge branch 'main' into shueybubbles/128
2 parents 7880445 + 82dffe0 commit 9064434

File tree

10 files changed

+449
-307
lines changed

10 files changed

+449
-307
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: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ trigger:
55

66
pr: none
77

8+
parameters:
9+
- name: PushToGithub
10+
default: true
11+
type: boolean
12+
displayName: Push packages to github
13+
814
stages:
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

Comments
 (0)