@@ -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+
4959variables :
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