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

Merge CoreCLR-based official builds legs into one leg per platform #92901

Merged
merged 33 commits into from
Oct 4, 2023

Conversation

jkoritzinsky
Copy link
Member

Today, we split our official builds for CoreCLR-based artifacts into multiple separate jobs and we flow artifacts between the jobs. This adds significant complexity to our build and takes longer due to waiting for machine provisioning. Additionally, for the VMR, we need to build each platform in a single job as we need to be able to build all of the constituent repos in one job.

This PR merges each CoreCLR platform to build in a single job. It continues to keep one job for the CrossDac packages, as those need to be built cross-machine. Additionally, it preserves the Libraries AllConfigurations leg as a separate job as that is platform-agnostic.

Various platform legs for CoreCLR have additional pre and post build steps to account for signing (DAC/DBI and macOS tools), entitlements (macOS), uploading artifacts for the CrossDac job (Linux), and building installers in specific containers (Linux).

Important

Due to branch restrictions on the service connection for the DAC/DBI signing, I was unable to validate it end-to-end.

…fferently in the installer build-linux-package step, will fix this later).
…ll of the separate CoreCLR/Libraries/Installer jobs that existed to support these jobs as they were.
@ghost
Copy link

ghost commented Oct 2, 2023

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Issue Details

Today, we split our official builds for CoreCLR-based artifacts into multiple separate jobs and we flow artifacts between the jobs. This adds significant complexity to our build and takes longer due to waiting for machine provisioning. Additionally, for the VMR, we need to build each platform in a single job as we need to be able to build all of the constituent repos in one job.

This PR merges each CoreCLR platform to build in a single job. It continues to keep one job for the CrossDac packages, as those need to be built cross-machine. Additionally, it preserves the Libraries AllConfigurations leg as a separate job as that is platform-agnostic.

Various platform legs for CoreCLR have additional pre and post build steps to account for signing (DAC/DBI and macOS tools), entitlements (macOS), uploading artifacts for the CrossDac job (Linux), and building installers in specific containers (Linux).

[!NOTE]
Official build link: https://dev.azure.com/dnceng/internal/_build/results?buildId=2280331&view=results

[!IMPORTANT]
Due to branch restrictions on the service connection for the DAC/DBI signing, I was unable to validate it end-to-end.

Author: jkoritzinsky
Assignees: -
Labels:

area-Infrastructure

Milestone: 9.0.0

@jkoritzinsky
Copy link
Member Author

DAC/DBI signing has been validated.

@jkoritzinsky
Copy link
Member Author

@jkoritzinsky
Copy link
Member Author

Copy link
Member

@agocke agocke left a comment

Choose a reason for hiding this comment

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

LGTM, although I'm not sure I completely understand the crossdac interaction

@jkoritzinsky jkoritzinsky requested a review from hoyosjs October 4, 2023 22:27
@jkoritzinsky
Copy link
Member Author

@hoyosjs can you take another look at the CrossDac work and approve/request changes? I think I've got it all right, but I really want to make sure I don't break that space.

@jkoritzinsky jkoritzinsky merged commit dc20390 into dotnet:main Oct 4, 2023
@jkoritzinsky jkoritzinsky deleted the coreclr-single-build branch October 4, 2023 22:43
@lewing
Copy link
Member

lewing commented Oct 5, 2023

Looks like this broke the official build by producing packages with -ci version

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants