Skip to content

Add CI for building N release with N-1 release artifacts #3156

@lbussell

Description

@lbussell

There is an important use case for source-build that we do not test in our CI today.

When distros have released SDK N and they want to release SDK N+1, they must build the N+1 SDK with the N SDK. So for example, the 6.0.111 SDK release must be built using the previously built 6.0.110 SDK. Our CI only ever builds the current SDK-in-development with either the Microsoft-produced N-1 SDK, or the N SDK itself in the case of our "bootstrap"/"with previous" CI leg.

We should add a new CI leg that builds the with a previously released source-build SDK and Source-built artifacts. This would require adding steps to one of the source-build release pipelines to upload a built SDK and artifacts for each release in blob storage, and a new CI leg that fetches them and builds with them (we can use the "with previous" infrastructure that's already in place for most of this).

I'm not sure at the moment whether the new SDK capture-and-upload step should be in the source-build-pre-release or the source-build-release pipeline. If it's in the pre-release pipeline, we have to make sure that we are not leaking MSRC bits by uploading them to a publicly accessible blob storage account.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions