diff --git a/eng/pipelines/global-build.yml b/eng/pipelines/global-build.yml index 3739929fbb9f7c..f1a62719914144 100644 --- a/eng/pipelines/global-build.yml +++ b/eng/pipelines/global-build.yml @@ -119,7 +119,7 @@ extends: eq(variables['isRollingBuild'], true)) # - # Build Portable SourceBuild + # Build Repo SourceBuild # - template: /eng/common/templates/jobs/source-build.yml parameters: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index d6aed8e6872347..301e1a5186f332 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1855,29 +1855,3 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), 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.9 (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.9 in rolling CI, - # Run Linux-x64 in PR. - - template: /eng/common/templates/jobs/source-build.yml - parameters: - platforms: - - name: CentOS9 - targetRID: centos.9-x64 - portableBuild: false - container: SourceBuild_centos_x64 - - name: NonexistentRID - targetRID: banana.24-x64 - portableBuild: false - container: SourceBuild_centos_x64 diff --git a/eng/pipelines/vmr-build-pr.yml b/eng/pipelines/vmr-build-pr.yml new file mode 100644 index 00000000000000..ab414d9829fd27 --- /dev/null +++ b/eng/pipelines/vmr-build-pr.yml @@ -0,0 +1,54 @@ +# This pipeline is used for running the VMR verification of the PR changes in repo-level PRs. +# If there are changes in flight that intentionally create cross-repo breaking changes in the VMR ingestion, +# this pipeline is expected to fail until the conflicts are resolved in the VMR. + +trigger: none + +pr: + branches: + include: + - main + - release/*.* + paths: + include: + - '*' + - eng/pipelines/global-build.yml + exclude: + - '**.md' + - .devcontainer/* + - .github/* + - docs/* + # Don't trigger VMR builds for changes to Mono. + # Mono-based stage 2 source-build is not blocking for the VMR and is only done as a basic validation + # for our partners. Interesting Mono-based stage 2 source-build legs are for architectures that are not + # supported on CoreCLR, like S390X, which we don't build ourselves. + - src/mono/* + - eng/pipelines/coreclr/*.* + - eng/pipelines/libraries/*.* + - eng/pipelines/installer/*.* + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + +variables: +- template: /eng/common/templates/variables/pool-providers.yml@self + +- name: skipComponentGovernanceDetection # we run CG on internal builds only + value: true + +- name: Codeql.Enabled # we run CodeQL on internal builds only + value: false + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + +stages: +- template: /eng/pipelines/templates/stages/vmr-build.yml@vmr + parameters: + isBuiltFromVmr: false + scope: lite + verifications: [ "source-build-stage1", "source-build-stage2" ] +