Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unified-build lite pipeline #47317

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

NikolaMilosavljevic
Copy link
Member

Validation of vmr changes does not always require running all unified-build legs. Having a lite pipeline could help improve throughput, and save build resources. This also enable us to validate legs that build tests, as those are now only enabled in public CI or PR.

Some concerns

Duplication of jobs for building tests - we already have them in Validation block right above -

#### VERTICAL BUILD (Validation) ####
- ${{ if and(not(parameters.isSourceOnlyBuild), or(eq(variables['Build.Reason'], 'PullRequest'), ne(variables['System.TeamProject'], 'internal'))) }}:
- stage: VMR_Vertical_Build_Validation
displayName: VMR Vertical Build Validation
dependsOn: []
variables:
- template: ../variables/vmr-build.yml
parameters:
vmrBranch: ${{ parameters.vmrBranch }}
jobs:
- template: ../jobs/vmr-build.yml
parameters:
buildName: ${{ format('{0}_Ubuntu_BuildTests', variables.ubuntuName) }}
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
pool: ${{ parameters.pool_Linux }}
container:
name: ${{ variables.ubuntuContainerName }}
image: ${{ variables.ubuntuContainerImage }}
targetOS: linux
targetArchitecture: x64
extraProperties: /p:DotNetBuildTests=true
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- template: ../jobs/vmr-build.yml
parameters:
buildName: Windows_BuildTests
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
pool: ${{ parameters.pool_Windows }}
targetOS: windows
targetArchitecture: x64
extraProperties: /p:DotNetBuildTests=true

Perhaps I should just update that condition to include internal/lite scenario and update the comment.

Not sure if both Linux and Windows jobs for building tests would be required, or just one of them.

@Copilot Copilot bot review requested due to automatic review settings March 6, 2025 17:38
@NikolaMilosavljevic NikolaMilosavljevic requested review from a team as code owners March 6, 2025 17:38
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Request triage from a team member labels Mar 6, 2025
@NikolaMilosavljevic
Copy link
Member Author

@mmitche

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Overview

This PR introduces a unified-build lite pipeline to optimize VMR validations by running a reduced set of build legs, including additional jobs for building tests in internal builds.

  • Added an internal lite build section with separate Linux and Windows test build jobs.
  • Updated ci.yml conditions to support a unified-build-lite trigger.

Reviewed Changes

File Description
eng/pipelines/templates/stages/vmr-build.yml Adds additional jobs for internal lite test builds.
src/SourceBuild/content/eng/pipelines/ci.yml Updates build scope conditions to include unified-build-lite.

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

@ViktorHofer
Copy link
Member

I think it would be good to first open an issue to discuss and agree on the desired state.

@NikolaMilosavljevic
Copy link
Member Author

I think it would be good to first open an issue to discuss and agree on the desired state.

Makes sense. I'll mark this as draft, and we can close it if needed.

@NikolaMilosavljevic NikolaMilosavljevic marked this pull request as draft March 6, 2025 17:54
@NikolaMilosavljevic
Copy link
Member Author

I think it would be good to first open an issue to discuss and agree on the desired state.

dotnet/source-build#4934

@ViktorHofer
Copy link
Member

Thanks @NikolaMilosavljevic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Request triage from a team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants