forked from microsoft/terminal
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: add a OneBranch Official release pipeline (microsoft#16081)
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.
- Loading branch information
Showing
11 changed files
with
1,577 additions
and
24 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"instanceUrl": "https://microsoft.visualstudio.com", | ||
"projectName": "OS", | ||
"areaPath": "OS\\Windows Client and Services\\ADEPT\\E4D-Engineered for Developers\\SHINE\\Terminal", | ||
"notificationAliases": ["condev@microsoft.com", "duhowett@microsoft.com"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
trigger: none | ||
pr: none | ||
schedules: | ||
- cron: "30 3 * * 2-6" # Run at 03:30 UTC Tuesday through Saturday (After the work day in Pacific, Mon-Fri) | ||
displayName: "Nightly Terminal Build" | ||
branches: | ||
include: | ||
- main | ||
always: false # only run if there's code changes! | ||
|
||
parameters: | ||
- name: publishToAzure | ||
displayName: "Deploy to **PUBLIC** Azure Storage" | ||
type: boolean | ||
default: true | ||
|
||
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr) | ||
|
||
variables: | ||
- template: templates-v2/variables-nuget-package-version.yml | ||
- template: templates-v2/variables-onebranch-config.yml | ||
|
||
extends: | ||
template: templates-v2/pipeline-onebranch-full-release-build.yml | ||
parameters: | ||
official: true | ||
branding: Canary | ||
buildTerminal: true | ||
pgoBuildMode: Optimize | ||
codeSign: true | ||
publishSymbolsToPublic: true | ||
publishVpackToWindows: false | ||
symbolExpiryTime: 15 | ||
${{ if eq(true, parameters.publishToAzure) }}: | ||
extraPublishJobs: | ||
- template: job-deploy-to-azure-storage.yml | ||
parameters: | ||
pool: { type: windows } | ||
dependsOn: [PublishSymbols] | ||
storagePublicRootURL: $(AppInstallerRootURL) | ||
subscription: $(AzureSubscriptionName) | ||
storageAccount: $(AzureStorageAccount) | ||
storageContainer: $(AzureStorageContainer) | ||
buildConfiguration: Release | ||
buildPlatforms: [x64, x86, arm64] | ||
environment: production-canary | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
trigger: none | ||
pr: none | ||
|
||
# Expose all of these parameters for user configuration. | ||
parameters: | ||
- name: branding | ||
displayName: "Branding (Build Type)" | ||
type: string | ||
default: Release | ||
values: | ||
- Release | ||
- Preview | ||
- Canary | ||
- Dev | ||
- name: buildTerminal | ||
displayName: "Build Windows Terminal MSIX" | ||
type: boolean | ||
default: true | ||
- name: buildConPTY | ||
displayName: "Build ConPTY NuGet" | ||
type: boolean | ||
default: false | ||
- name: buildWPF | ||
displayName: "Build Terminal WPF Control" | ||
type: boolean | ||
default: false | ||
- name: pgoBuildMode | ||
displayName: "PGO Build Mode" | ||
type: string | ||
default: Optimize | ||
values: | ||
- Optimize | ||
- Instrument | ||
- None | ||
- name: buildConfigurations | ||
displayName: "Build Configurations" | ||
type: object | ||
default: | ||
- Release | ||
- name: buildPlatforms | ||
displayName: "Build Platforms" | ||
type: object | ||
default: | ||
- x64 | ||
- x86 | ||
- arm64 | ||
- name: terminalInternalPackageVersion | ||
displayName: "Terminal Internal Package Version" | ||
type: string | ||
default: '0.0.8' | ||
|
||
- name: publishSymbolsToPublic | ||
displayName: "Publish Symbols to MSDL" | ||
type: boolean | ||
default: true | ||
- name: publishVpackToWindows | ||
displayName: "Publish VPack to Windows" | ||
type: boolean | ||
default: false | ||
|
||
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr) | ||
|
||
variables: | ||
- template: templates-v2/variables-nuget-package-version.yml | ||
- template: templates-v2/variables-onebranch-config.yml | ||
|
||
extends: | ||
template: templates-v2/pipeline-onebranch-full-release-build.yml | ||
parameters: | ||
official: true | ||
branding: ${{ parameters.branding }} | ||
buildTerminal: ${{ parameters.buildTerminal }} | ||
buildConPTY: ${{ parameters.buildConPTY }} | ||
buildWPF: ${{ parameters.buildWPF }} | ||
pgoBuildMode: ${{ parameters.pgoBuildMode }} | ||
buildConfigurations: ${{ parameters.buildConfigurations }} | ||
buildPlatforms: ${{ parameters.buildPlatforms }} | ||
codeSign: true | ||
terminalInternalPackageVersion: ${{ parameters.terminalInternalPackageVersion }} | ||
publishSymbolsToPublic: ${{ parameters.publishSymbolsToPublic }} | ||
publishVpackToWindows: ${{ parameters.publishVpackToWindows }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.