-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
build: add a OneBranch Official release pipeline #16081
Conversation
This pipeline does everything the existing release pipeline does, except it does it using the OneBranch official templates. Most of our existing build infrastructure has been reused, with the following changes: - We are no longer using `job-submit-windows-vpack`, as OneBranch does this for us. - `job-merge-msix-into-bundle` now supports afterBuildSteps, which we use to stage the msixbundle into the right place for the vpack - `job-build-project` supports deleting all non-signed files (which the OneBranch post-build validation requires) - `job-build-project` now deletes `console.dll`, which is unused in any of our builds, because XFGCheck blows up on it for some reason on x86 - `job-publish-symbols` now supports two different types of PAT ingestion - I have pulled out the NuGet filename variables into a shared variables template I have also introduced a TSA config (which files bugs on us for binary analysis failures as well as using the word 'sucks' and stuff.) I have also baselined a number of control flow guard/binary analysis failures.
- task: PkgESSetupBuild@12 | ||
displayName: Package ES - Setup Build | ||
inputs: | ||
disableOutputRedirect: true | ||
|
||
- task: UniversalPackages@0 | ||
displayName: Download terminal-internal Universal Package | ||
inputs: | ||
feedListDownload: 2b3f8893-a6e8-411f-b197-a9e05576da48 | ||
packageListDownload: e82d490c-af86-4733-9dc4-07b772033204 | ||
versionListDownload: ${{ parameters.terminalInternalPackageVersion }} | ||
|
||
- template: ./build/pipelines/templates-v2/steps-fetch-and-prepare-localizations.yml@self | ||
parameters: | ||
includePseudoLoc: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's some duplication here between the non-OB and OB release builds.
However: we can put the non-OB release builds on a path to deprecation.
{ | ||
"instanceUrl": "https://microsoft.visualstudio.com", | ||
"projectName": "OS", | ||
"areaPath": "OS\\Windows Client and Services\\ADEPT\\E4D-Engineered for Developers\\SHINE\\Terminal", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh no they know what our area path is oh no
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh no, they'll think we're engineering for developers oh no
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep that's yaml alright
{ | ||
"instanceUrl": "https://microsoft.visualstudio.com", | ||
"projectName": "OS", | ||
"areaPath": "OS\\Windows Client and Services\\ADEPT\\E4D-Engineered for Developers\\SHINE\\Terminal", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh no, they'll think we're engineering for developers oh no
NuGetPackBetaVersion: preview | ||
${{ elseif eq(variables['Build.SourceBranchName'], 'main') }}: | ||
NuGetPackBetaVersion: experimental | ||
- template: variables-nuget-package-version.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well this is neat
This pipeline does everything the existing release pipeline does, except it does it using the OneBranch official templates. Most of our existing build infrastructure has been reused, with the following changes: - We are no longer using `job-submit-windows-vpack`, as OneBranch does this for us. - `job-merge-msix-into-bundle` now supports afterBuildSteps, which we use to stage the msixbundle into the right place for the vpack - `job-build-project` supports deleting all non-signed files (which the OneBranch post-build validation requires) - `job-build-project` now deletes `console.dll`, which is unused in any of our builds, because XFGCheck blows up on it for some reason on x86 - `job-publish-symbols` now supports two different types of PAT ingestion - I have pulled out the NuGet filename variables into a shared variables template I have also introduced a TSA config (which files bugs on us for binary analysis failures as well as using the word 'sucks' and stuff.) I have also baselined a number of control flow guard/binary analysis failures. (cherry picked from commit 6489f6b) Service-Card-Id: 90706777 Service-Version: 1.19
This pipeline does everything the existing release pipeline does, except it does it using the OneBranch official templates. Most of our existing build infrastructure has been reused, with the following changes: - We are no longer using `job-submit-windows-vpack`, as OneBranch does this for us. - `job-merge-msix-into-bundle` now supports afterBuildSteps, which we use to stage the msixbundle into the right place for the vpack - `job-build-project` supports deleting all non-signed files (which the OneBranch post-build validation requires) - `job-build-project` now deletes `console.dll`, which is unused in any of our builds, because XFGCheck blows up on it for some reason on x86 - `job-publish-symbols` now supports two different types of PAT ingestion - I have pulled out the NuGet filename variables into a shared variables template I have also introduced a TSA config (which files bugs on us for binary analysis failures as well as using the word 'sucks' and stuff.) I have also baselined a number of control flow guard/binary analysis failures. (cherry picked from commit 6489f6b) Service-Card-Id: 90706776 Service-Version: 1.18
This pipeline does everything the existing release pipeline does, except it does it using the OneBranch official templates. Most of our existing build infrastructure has been reused, with the following changes: - We are no longer using `job-submit-windows-vpack`, as OneBranch does this for us. - `job-merge-msix-into-bundle` now supports afterBuildSteps, which we use to stage the msixbundle into the right place for the vpack - `job-build-project` supports deleting all non-signed files (which the OneBranch post-build validation requires) - `job-build-project` now deletes `console.dll`, which is unused in any of our builds, because XFGCheck blows up on it for some reason on x86 - `job-publish-symbols` now supports two different types of PAT ingestion - I have pulled out the NuGet filename variables into a shared variables template I have also introduced a TSA config (which files bugs on us for binary analysis failures as well as using the word 'sucks' and stuff.) I have also baselined a number of control flow guard/binary analysis failures. (cherry picked from commit 6489f6b) Service-Card-Id: 91211920 Service-Version: 1.17
This pipeline does everything the existing release pipeline does, except it does it using the OneBranch official templates.
Most of our existing build infrastructure has been reused, with the following changes:
job-submit-windows-vpack
, as OneBranch does this for us.job-merge-msix-into-bundle
now supports afterBuildSteps, which we use to stage the msixbundle into the right place for the vpackjob-build-project
supports deleting all non-signed files (which the OneBranch post-build validation requires)job-build-project
now deletesconsole.dll
, which is unused in any of our builds, because XFGCheck blows up on it for some reason on x86job-publish-symbols
now supports two different types of PAT ingestionI have also introduced a TSA config (which files bugs on us for binary analysis failures as well as using the word 'sucks' and stuff.)
I have also baselined a number of control flow guard/binary analysis failures.