Skip to content

Commit dade15c

Browse files
committed
.azure-pipelines/release.yml: add Linux builds
Add Linux release build definitions on Azure Pipelines. Signed-off-by: Matthew John Cheetham <[email protected]>
1 parent c56b0b1 commit dade15c

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

.azure-pipelines/release.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ parameters:
4646
image: macOS-latest
4747
os: macos
4848

49+
- name: linux_matrix
50+
type: object
51+
default:
52+
- id: linux_x64
53+
jobName: 'Linux (x64)'
54+
runtime: linux-x64
55+
pool: GitClient-1ESHostedPool-intel-pc
56+
image: ubuntu-x86_64-ado1es
57+
os: linux
58+
4959
variables:
5060
- name: 'esrpConnectionName'
5161
value: 'ESRP-1ESGitClient'
@@ -261,3 +271,67 @@ extends:
261271
--runtime="${{ dim.runtime }}" \
262272
--package-path="$(Build.ArtifactStagingDirectory)/pkg" \
263273
--output="$(Build.ArtifactStagingDirectory)/installers/gcm-${{ dim.runtime }}-$(VERSION).pkg"
274+
275+
#
276+
# Linux build jobs
277+
#
278+
- ${{ each dim in parameters.linux_matrix }}:
279+
- job: ${{ dim.id }}
280+
displayName: ${{ dim.jobName }}
281+
pool:
282+
name: ${{ dim.pool }}
283+
image: ${{ dim.image }}
284+
os: ${{ dim.os }}
285+
templateContext:
286+
outputs:
287+
- output: pipelineArtifact
288+
targetPath: '$(Build.ArtifactStagingDirectory)/payload'
289+
artifactName: '${{ dim.runtime }}_payload'
290+
- output: pipelineArtifact
291+
targetPath: '$(Build.ArtifactStagingDirectory)/symbols'
292+
artifactName: '${{ dim.runtime }}_symbols'
293+
- output: pipelineArtifact
294+
targetPath: '$(Build.ArtifactStagingDirectory)/installers'
295+
artifactName: '${{ dim.runtime }}_installers'
296+
steps:
297+
- checkout: self
298+
- task: Bash@3
299+
displayName: 'Get version'
300+
inputs:
301+
targetType: inline
302+
script: |
303+
echo "##vso[task.setvariable variable=VERSION]$(cat ./VERSION | sed -E 's/.[0-9]+$//')"
304+
- task: UseDotNet@2
305+
displayName: 'Use .NET 8 SDK'
306+
inputs:
307+
packageType: sdk
308+
version: '8.x'
309+
- task: Bash@3
310+
displayName: 'Build payload'
311+
inputs:
312+
targetType: filePath
313+
filePath: './src/linux/Packaging.Linux/layout.sh'
314+
arguments: |
315+
--runtime="${{ dim.runtime }}" \
316+
--configuration="Release" \
317+
--output="$(Build.ArtifactStagingDirectory)/payload" \
318+
--symbol-output="$(Build.ArtifactStagingDirectory)/symbols"
319+
- task: Bash@3
320+
displayName: 'Build packages'
321+
inputs:
322+
targetType: filePath
323+
filePath: './src/linux/Packaging.Linux/pack.sh'
324+
arguments: |
325+
--version="$(VERSION)" \
326+
--runtime="${{ dim.runtime }}" \
327+
--payload="$(Build.ArtifactStagingDirectory)/payload" \
328+
--symbols="$(Build.ArtifactStagingDirectory)/symbols" \
329+
--output="$(Build.ArtifactStagingDirectory)/pkg"
330+
- task: CopyFiles@2
331+
displayName: 'Collect packages for publishing'
332+
inputs:
333+
contents: |
334+
**/*.deb
335+
**/*.tar.gz
336+
sourceFolder: '$(Build.ArtifactStagingDirectory)/pkg'
337+
targetFolder: '$(Build.ArtifactStagingDirectory)/installers'

0 commit comments

Comments
 (0)