diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 29071209e79d..d42cda314d4d 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -9,6 +9,8 @@ parameters: variables: {} timeoutInMinutes: '' pool: '' + extraStepsTemplate: '' + extraStepsParameters: {} jobs: - template: /eng/common/templates/job/job.yml @@ -22,7 +24,25 @@ jobs: workspace: clean: all - variables: ${{ parameters.variables }} + variables: + - name: osGroup + value: ${{ parameters.osGroup }} + - name: osSubgroup + value: ${{ parameters.osSubgroup }} + - name: archType + value: ${{ parameters.archType }} + - name: buildConfig + value: ${{ parameters.buildConfig }} + - ${{ if eq(parameters.buildConfig, 'debug') }}: + - name: buildConfigUpper + value: 'Debug' + - ${{ if eq(parameters.buildConfig, 'release') }}: + - name: buildConfigUpper + value: 'Release' + - ${{ if eq(parameters.buildConfig, 'checked') }}: + - name: buildConfigUpper + value: 'Checked' + - ${{ parameters.variables }} steps: - template: /eng/pipelines/common/clone-checkout-bundle-step.yml @@ -54,3 +74,9 @@ jobs: ArtifactName: $(Agent.Os)_PublishBuildAssets continueOnError: true condition: always() + + # If intended to send extra steps after regular build add them here. + - ${{ if ne(parameters.extraStepsTemplate, '') }}: + - template: ${{ parameters.extraStepsTemplate }} + parameters: + ${{ insert }}: ${{ parameters.extraStepsParameters }} diff --git a/eng/pipelines/runtimelab.yml b/eng/pipelines/runtimelab.yml index cfef8a90622a..a193c46a1410 100644 --- a/eng/pipelines/runtimelab.yml +++ b/eng/pipelines/runtimelab.yml @@ -53,19 +53,20 @@ jobs: - template: /eng/pipelines/common/checkout-job.yml # -# Build with Debug config and Release runtimeConfiguration +# Build with Debug config and checked runtimeConfiguration # - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release + buildConfig: checked platforms: - Linux_x64 - Windows_NT_x64 jobParameters: testGroup: innerloop nameSuffix: Runtime_Debug - buildArgs: -s clr+libs+installer -c debug -runtimeConfiguration release + buildArgs: -s clr+libs+installer -c debug -runtimeConfiguration checked + extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml # # Build with Release config and Release runtimeConfiguration @@ -73,7 +74,7 @@ jobs: - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: debug + buildConfig: release platforms: - Linux_x64 - Windows_NT_x64 @@ -81,3 +82,4 @@ jobs: testGroup: innerloop nameSuffix: Runtime_Release buildArgs: -s clr+libs+installer -c release -runtimeConfiguration release + extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml diff --git a/eng/pipelines/runtimelab/runtimelab-post-build-steps.yml b/eng/pipelines/runtimelab/runtimelab-post-build-steps.yml new file mode 100644 index 000000000000..3141e0ad42b5 --- /dev/null +++ b/eng/pipelines/runtimelab/runtimelab-post-build-steps.yml @@ -0,0 +1,22 @@ +steps: + # Zip CoreCLR Build Output + - template: /eng/pipelines/common/upload-artifact-step.yml + parameters: + rootFolder: $(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(buildConfigUpper) + archiveType: $(archiveType) + tarCompression: $(tarCompression) + includeRootFolder: false + archiveExtension: $(archiveExtension) + artifactName: CoreCLRProduct__$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig) + displayName: 'CoreCLR product build' + + # Zip Libraries Build Output + - template: /eng/pipelines/common/upload-artifact-step.yml + parameters: + rootFolder: $(Build.ArtifactStagingDirectory)/artifacts + archiveType: $(archiveType) + tarCompression: $(tarCompression) + includeRootFolder: false + archiveExtension: $(archiveExtension) + artifactName: libraries_bin_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig) + displayName: Build Assets