diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 6fe9c7bdf809a..1812fc318bb2e 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -25,8 +25,6 @@ parameters: useContinueOnErrorDuringBuild: false shouldContinueOnError: false isOfficialBuild: false - isSourceBuild: false - isNonPortableSourceBuild: false runtimeFlavor: 'coreclr' runtimeVariant: '' helixQueues: '' @@ -34,11 +32,7 @@ parameters: testResultsFormat: '' postBuildSteps: [] extraVariablesTemplates: [] - isManualCodeQLBuild: false preBuildSteps: [] - enableRichCodeNavigation: false - richCodeNavigationLanguage: 'csharp' - disableComponentGovernance: '' templatePath: 'templates' jobs: @@ -57,9 +51,6 @@ jobs: enablePublishTestResults: ${{ parameters.enablePublishTestResults }} testResultsFormat: ${{ parameters.testResultsFormat }} - enableRichCodeNavigation: ${{ parameters.enableRichCodeNavigation }} - richCodeNavigationLanguage: ${{ parameters.richCodeNavigationLanguage }} - artifacts: publish: logs: @@ -154,10 +145,7 @@ jobs: - checkout: self clean: true - # If running in source build mode, a git stash will be used for the inner clone. Avoid setting a fetch depth, - # as a stash of a shallow cloned repo is not currently supported. - ${{ if ne(parameters.isSourceBuild, true) }}: - fetchDepth: $(checkoutFetchDepth) + fetchDepth: $(checkoutFetchDepth) - ${{ if and(eq(parameters.isOfficialBuild, true), notin(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator')) }}: - template: /eng/pipelines/common/restore-internal-tools.yml @@ -187,16 +175,6 @@ jobs: artifact: Mono_Offsets_${{monoCrossAOTTargetOS}} path: '$(Build.SourcesDirectory)/artifacts/obj/mono/offsetfiles' - - ${{ if eq(parameters.isSourceBuild, true) }}: - - template: /eng/common/${{ parameters.templatePath }}/steps/source-build.yml - parameters: - platform: - baseOS: ${{ parameters.baseOS }} - buildScript: $(Build.SourcesDirectory)$(dir)build$(scriptExt) - nonPortable: ${{ parameters.isNonPortableSourceBuild }} - targetRID: ${{ parameters.targetRid }} - name: ${{ parameters.platform }} - - ${{ if in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator') }}: - script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }} displayName: Install Build Dependencies @@ -228,7 +206,6 @@ jobs: targetRid: ${{ parameters.targetRid }} nameSuffix: ${{ parameters.nameSuffix }} platform: ${{ parameters.platform }} - pgoType: ${{ parameters.pgoType }} shouldContinueOnError: ${{ parameters.shouldContinueOnError }} ${{ if ne(preBuildStep.forwardedParameters, '') }}: ${{ each parameter in preBuildStep.forwardedParameters }}: @@ -239,21 +216,11 @@ jobs: - ${{ preBuildStep }} # Build - - ${{ if eq(parameters.isSourceBuild, false) }}: - - ${{ if eq(parameters.isManualCodeQLBuild, true) }}: - - task: CodeQL3000Init@0 - displayName: Initialize CodeQL (manually-injected) - - - template: /eng/pipelines/common/templates/global-build-step.yml - parameters: - buildArgs: ${{ parameters.buildArgs }} - useContinueOnErrorDuringBuild: ${{ parameters.useContinueOnErrorDuringBuild }} - shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - - - ${{ if eq(parameters.isManualCodeQLBuild, true) }}: - - task: CodeQL3000Finalize@0 - displayName: Finalize CodeQL (manually-injected) - #endif isSourceBuild + - template: /eng/pipelines/common/templates/global-build-step.yml + parameters: + buildArgs: ${{ parameters.buildArgs }} + useContinueOnErrorDuringBuild: ${{ parameters.useContinueOnErrorDuringBuild }} + shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos', 'android') }}: - script: | diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 7245e52168046..cb3c8b2d0a65e 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -294,73 +294,6 @@ jobs: helixQueueGroup: ${{ parameters.helixQueueGroup }} ${{ insert }}: ${{ parameters.jobParameters }} -# Centos 8 Stream x64 Source Build - -- ${{ if containsValue(parameters.platforms, 'SourceBuild_centos8_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: linux - archType: x64 - targetRid: centos.8-x64 - platform: centos8_linux_x64 - shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - container: SourceBuild_centos_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - buildConfig: ${{ parameters.buildConfig }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - isSourceBuild: true - isNonPortableSourceBuild: true - ${{ insert }}: ${{ parameters.jobParameters }} - -# Non-existent RID Source Build - -- ${{ if containsValue(parameters.platforms, 'SourceBuild_banana24_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: linux - archType: x64 - targetRid: banana.24-x64 - platform: banana24_linux_x64 - shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - container: SourceBuild_centos_x64 # Run the unknown-rid build on a platform with a known RID so our RID graph tooling can automatically add it to the RID graph. - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - baseOS: linux - buildConfig: ${{ parameters.buildConfig }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - isSourceBuild: true - isNonPortableSourceBuild: true - ${{ insert }}: ${{ parameters.jobParameters }} - -# Portable Linux x64 Source Build - -- ${{ if containsValue(parameters.platforms, 'SourceBuild_linux_x64') }}: - - template: xplat-setup.yml - parameters: - jobTemplate: ${{ parameters.jobTemplate }} - helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} - variables: ${{ parameters.variables }} - osGroup: linux - archType: x64 - targetRid: linux-x64 - platform: linux_x64 - shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - container: SourceBuild_linux_x64 - jobParameters: - runtimeFlavor: ${{ parameters.runtimeFlavor }} - buildConfig: ${{ parameters.buildConfig }} - helixQueueGroup: ${{ parameters.helixQueueGroup }} - isSourceBuild: true - isNonPortableSourceBuild: false - ${{ insert }}: ${{ parameters.jobParameters }} - # GCC Linux x64 Build - ${{ if containsValue(parameters.platforms, 'gcc_linux_x64') }}: diff --git a/eng/pipelines/global-build.yml b/eng/pipelines/global-build.yml index 32e4ec79c8316..2e70a2448cd9d 100644 --- a/eng/pipelines/global-build.yml +++ b/eng/pipelines/global-build.yml @@ -163,16 +163,11 @@ extends: eq(variables['isRollingBuild'], true)) # - # SourceBuild Build + # Build Portable SourceBuild # - - template: /eng/pipelines/common/platform-matrix.yml + - template: /eng/common/templates/jobs/source-build.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release platforms: - - SourceBuild_linux_x64 - jobParameters: - nameSuffix: PortableSourceBuild - timeoutInMinutes: 95 - condition: - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true) + - name: Linux_x64 + targetRid: linux-x64 + container: SourceBuild_linux_x64 diff --git a/eng/pipelines/runtime-codeql.yml b/eng/pipelines/runtime-codeql.yml index 9eff98fef5ab9..599622f88f62a 100644 --- a/eng/pipelines/runtime-codeql.yml +++ b/eng/pipelines/runtime-codeql.yml @@ -47,7 +47,12 @@ extends: nameSuffix: AllSubsets_CoreCLR isOfficialBuild: ${{ variables.isOfficialBuild }} timeoutInMinutes: 360 - isManualCodeQLBuild: true + preBuildSteps: + - task: CodeQL3000Init@0 + displayName: Initialize CodeQL (manually-injected) + postBuildSteps: + - task: CodeQL3000Finalize@0 + displayName: Finalize CodeQL (manually-injected) # # Build Mono runtime packs @@ -65,4 +70,9 @@ extends: nameSuffix: AllSubsets_Mono isOfficialBuild: ${{ variables.isOfficialBuild }} timeoutInMinutes: 360 - isManualCodeQLBuild: true + preBuildSteps: + - task: CodeQL3000Init@0 + displayName: Initialize CodeQL (manually-injected) + postBuildSteps: + - task: CodeQL3000Finalize@0 + displayName: Finalize CodeQL (manually-injected) diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index ba09a957605eb..100eb9a3a6659 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -560,22 +560,12 @@ extends: # # Build SourceBuild packages # - - template: /eng/pipelines/common/platform-matrix.yml + - template: /eng/common/templates-official/jobs/source-build.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - helixQueueGroup: ci platforms: - - SourceBuild_linux_x64 - jobParameters: - templatePath: 'templates-official' - nameSuffix: PortableSourceBuild - isOfficialBuild: ${{ variables.isOfficialBuild }} - postBuildSteps: - - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml - parameters: - name: SourceBuildPackages - timeoutInMinutes: 95 + - name: Linux_x64 + targetRid: linux-x64 + container: SourceBuild_linux_x64 # # Build PGO Instrumented CoreCLR Release diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 98dc5285250f4..c6a2355fb9564 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1878,36 +1878,29 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) - # - # Sourcebuild legs - # We have 3 important legs for source-build: - # - Centos.8 (ensures that known non-portable RID is working) - # - Linux-x64 portable (used for dependency flow and downstream PR verification) - # - Banana.24 - Non-existent RID to ensure we don't break RIDs we don't know about. - # - # Running all of these everywhere is wasteful. Run Banana.24 and CentOS.8 in rolling CI, - # Run Linux-x64 in PR. - - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - helixQueueGroup: pr - platforms: - - SourceBuild_centos8_x64 - jobParameters: - nameSuffix: centos8SourceBuild - timeoutInMinutes: 95 - condition: eq(variables['isRollingBuild'], true) - - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - helixQueueGroup: pr - platforms: - - SourceBuild_banana24_x64 - jobParameters: - nameSuffix: banana24SourceBuild - timeoutInMinutes: 95 - condition: eq(variables['isRollingBuild'], true) + - stage: SourceBuild + displayName: Source Build Validation + dependsOn: [] + condition: eq(variables['isRollingBuild'], true) + jobs: + # + # Sourcebuild legs + # We have 3 important legs for source-build: + # - Centos.8 (ensures that known non-portable RID is working) + # - Linux-x64 portable (used for dependency flow and downstream PR verification) + # - Banana.24 - Non-existent RID to ensure we don't break RIDs we don't know about. + # + # Running all of these everywhere is wasteful. Run Banana.24 and CentOS.8 in rolling CI, + # Run Linux-x64 in PR. + - template: /eng/common/templates/jobs/source-build.yml + parameters: + platforms: + - name: CentOS8 + targetRid: centos.8-x64 + nonPortable: true + container: SourceBuild_centos_x64 + - name: NonexistentRID + baseOS: linux + targetRid: banana.24-x64 + nonPortable: true + container: SourceBuild_centos_x64 diff --git a/src/installer/prepare-artifacts.proj b/src/installer/prepare-artifacts.proj index f00a65b86896b..393b50eafe206 100644 --- a/src/installer/prepare-artifacts.proj +++ b/src/installer/prepare-artifacts.proj @@ -58,8 +58,8 @@ - @@ -145,10 +145,6 @@ $(InstallersRelativePath)workloads/%(Filename)%(Extension) true - - - -