@@ -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 : ' 1ESGitClient-ESRP'
@@ -354,3 +364,87 @@ extends:
354364 # }
355365 # }
356366 # ]
367+
368+ #
369+ # Linux build jobs
370+ #
371+ - ${{ each dim in parameters.linux_matrix }} :
372+ - job : ${{ dim.id }}
373+ displayName : ${{ dim.jobName }}
374+ pool :
375+ name : ${{ dim.pool }}
376+ image : ${{ dim.image }}
377+ os : ${{ dim.os }}
378+ variables :
379+ version : $[stageDependencies.prebuild.vars.outputs['version.value']]
380+ templateContext :
381+ outputs :
382+ - output : pipelineArtifact
383+ targetPath : ' $(Build.ArtifactStagingDirectory)/payload'
384+ artifactName : ' ${{ dim.runtime }}_payload'
385+ - output : pipelineArtifact
386+ targetPath : ' $(Build.ArtifactStagingDirectory)/symbols'
387+ artifactName : ' ${{ dim.runtime }}_symbols'
388+ - output : pipelineArtifact
389+ targetPath : ' $(Build.ArtifactStagingDirectory)/installers'
390+ artifactName : ' ${{ dim.runtime }}_installers'
391+ steps :
392+ - checkout : self
393+ - task : UseDotNet@2
394+ displayName : ' Use .NET 8 SDK'
395+ inputs :
396+ packageType : sdk
397+ version : ' 8.x'
398+ - task : Bash@3
399+ displayName : ' Build payload'
400+ inputs :
401+ targetType : filePath
402+ filePath : ' ./src/linux/Packaging.Linux/layout.sh'
403+ arguments : |
404+ --runtime="${{ dim.runtime }}" \
405+ --configuration="Release" \
406+ --output="$(Build.ArtifactStagingDirectory)/payload" \
407+ --symbol-output="$(Build.ArtifactStagingDirectory)/symbols"
408+ - task : Bash@3
409+ displayName : ' Build packages'
410+ inputs :
411+ targetType : filePath
412+ filePath : ' ./src/linux/Packaging.Linux/pack.sh'
413+ arguments : |
414+ --version="$(version)" \
415+ --runtime="${{ dim.runtime }}" \
416+ --payload="$(Build.ArtifactStagingDirectory)/payload" \
417+ --symbols="$(Build.ArtifactStagingDirectory)/symbols" \
418+ --output="$(Build.ArtifactStagingDirectory)/pkg"
419+ - task : CopyFiles@2
420+ displayName : ' Collect packages for publishing'
421+ inputs :
422+ contents : |
423+ **/*.deb
424+ **/*.tar.gz
425+ sourceFolder : ' $(Build.ArtifactStagingDirectory)/pkg'
426+ targetFolder : ' $(Build.ArtifactStagingDirectory)/installers'
427+ # - task: EsrpCodeSigning@5
428+ # condition: and(succeeded(), eq('${{ parameters.esrp }}', true))
429+ # displayName: 'Sign packages'
430+ # inputs:
431+ # connectedServiceName: '$(esrpConnectionName)'
432+ # appRegistrationClientId: '$(esrpClientId)'
433+ # appRegistrationTenantId: '$(esrpTenantId)'
434+ # authAkvName: '$(esrpAuthAkvName)'
435+ # authCertName: '$(esrpAuthCertName)'
436+ # authSignCertName: '$(esrpAuthSignCertName)'
437+ # serviceEndpointUrl: '$(esrpEndpointUrl)'
438+ # folderPath: '$(Build.ArtifactStagingDirectory)/installers'
439+ # pattern: '**/*'
440+ # signConfigType: inlineSignParams
441+ # inlineOperation: |
442+ # [
443+ # {
444+ # "KeyCode": "CP-453387-Pgp",
445+ # "OperationCode": "LinuxSign",
446+ # "ToolName": "sign",
447+ # "ToolVersion": "1.0",
448+ # "Parameters": {}
449+ # }
450+ # ]
0 commit comments