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

build: add a OneBranch Official release pipeline #16081

Merged
merged 1 commit into from
Oct 2, 2023

Conversation

DHowett
Copy link
Member

@DHowett DHowett commented Oct 1, 2023

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.

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.
Comment on lines +116 to +130
- 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
Copy link
Member Author

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",
Copy link
Member Author

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

Copy link
Member

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

@DHowett DHowett added the Severity-Blocking We won't ship a release like this! No-siree. label Oct 2, 2023
Copy link
Member

@zadjii-msft zadjii-msft left a 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",
Copy link
Member

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
Copy link
Member

Choose a reason for hiding this comment

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

well this is neat

@DHowett DHowett merged commit 6489f6b into main Oct 2, 2023
17 checks passed
@DHowett DHowett deleted the dev/duhowett/onebranch-g branch October 2, 2023 19:52
DHowett added a commit that referenced this pull request Oct 3, 2023
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
DHowett added a commit that referenced this pull request Oct 3, 2023
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
DHowett added a commit that referenced this pull request Nov 28, 2023
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Severity-Blocking We won't ship a release like this! No-siree.
Projects
Status: Cherry Picked
Development

Successfully merging this pull request may close these issues.

3 participants