Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 193 additions & 0 deletions .pipelines/OneBranch.Official.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
parameters: # parameters are shown up in ADO UI in a build queue time
- name: 'debug'
displayName: 'Enable debug output'
type: boolean
default: false

variables:
- template: variables/version.yml
- template: variables/OneBranchVariables.yml
parameters:
debug: ${{ parameters.debug }}

name: 2.0.$(date:yyMMdd)$(rev:.r)

trigger: none

resources:
repositories:
- repository: templates
type: git
name: OneBranch.Pipelines/GovernedTemplates
ref: refs/heads/main

extends:
template: v2/Microsoft.Official.yml@templates
parameters:
platform:
name: 'windows_undocked'
product: 'build_tools'

cloudvault:
enabled: false

globalSdl:
tsa:
enabled: false

nugetPublishing:
feeds:
name: CppWinRT

stages:
- stage: build
pool:
type: windows

jobs:
- template: .pipelines/jobs/OneBranchBuild.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)
OfficialBuild: true

- stage: vpack
dependsOn: build
jobs:
- job: Compiler_vpack
pool:
type: windows
variables:
ob_outputDirectory: '$(Build.SourcesDirectory)\out'

ob_createvpack_enabled: true
ob_createvpack_packagename: CppWinRT.Compiler
ob_createvpack_owneralias: cpp4uwpt
ob_createvpack_description: C++/WinRT Compiler
ob_createvpack_provData: true
ob_createvpack_versionAs: parts
ob_createvpack_majorVer: $(MajorVersion)
ob_createvpack_minorVer: $(MinorVersion)
ob_createvpack_patchVer: $(PatchVersion)
ob_createvpack_metadata: $(Build.SourceBranchName).x86.$(Build.BuildNumber).$(Build.SourceVersion)
ob_createvpack_target: $(OSBuildToolsRoot)\cppwinrt

steps:
- task: UseDotNet@2
continueOnError: true
inputs:
packageType: 'runtime'
version: '6.x'
performMultiLevelLookup: true

- task: DownloadPipelineArtifact@2
displayName: 'Download x86 artifacts'
inputs:
artifactName: 'drop_build_x86'
targetPath: '$(Build.SourcesDirectory)/x86'

- task: CopyFiles@2
displayName: 'Stage compiler vpack contents'
inputs:
SourceFolder: $(Build.SourcesDirectory)/x86
Contents: |
cppwinrt/cppwinrt.exe
cppwinrt/cppwinrt.pdb
TargetFolder: $(ob_outputDirectory)

- job: MSBuild_vpack
pool:
type: windows
variables:
ob_outputDirectory: '$(Build.SourcesDirectory)\out'

ob_createvpack_enabled: true
ob_createvpack_packagename: CppWinRT.MSBuild
ob_createvpack_owneralias: cpp4uwpt
ob_createvpack_description: C++/WinRT MSBuild
ob_createvpack_provData: true
ob_createvpack_versionAs: parts
ob_createvpack_majorVer: $(MajorVersion)
ob_createvpack_minorVer: $(MinorVersion)
ob_createvpack_patchVer: $(PatchVersion)
ob_createvpack_metadata: $(Build.SourceBranchName).$(Build.BuildNumber).$(Build.SourceVersion)
ob_createvpack_verbose: true
ob_createvpack_target: $(OSBuildToolsRoot)\cppwinrt

steps:
- task: UseDotNet@2
continueOnError: true
inputs:
packageType: 'runtime'
version: '6.x'
performMultiLevelLookup: true

- task: DownloadPipelineArtifact@2
displayName: 'Download x86 artifacts'
inputs:
artifactName: 'drop_build_x86'
targetPath: '$(Build.SourcesDirectory)/x86'

- task: DownloadPipelineArtifact@2
displayName: 'Download x64 artifacts'
inputs:
artifactName: 'drop_build_x64'
targetPath: '$(Build.SourcesDirectory)/x64'

- task: DownloadPipelineArtifact@2
displayName: 'Download arm artifacts'
inputs:
artifactName: 'drop_build_arm'
targetPath: '$(Build.SourcesDirectory)/arm'

- task: DownloadPipelineArtifact@2
displayName: 'Download arm64 artifacts'
inputs:
artifactName: 'drop_build_arm64'
targetPath: '$(Build.SourcesDirectory)/arm64'

- task: CmdLine@2
displayName: 'Stage MSBuild vpack contents'
inputs:
script: |
set TargetDir=$(ob_outputDirectory)
rd /s /q %TargetDir% >nul 2>&1
md %TargetDir%
cd %TargetDir%

copy $(Build.SourcesDirectory)\vsix\Microsoft.Cpp.CppWinRT.props
copy $(Build.SourcesDirectory)\nuget\Microsoft.Windows.CppWinRT.props Microsoft.Cpp.CppWinRTEnabled.props
copy $(Build.SourcesDirectory)\nuget\Microsoft.Windows.CppWinRT.targets Microsoft.Cpp.CppWinRTEnabled.targets
copy $(Build.SourcesDirectory)\nuget\CppWinrtRules.Project.xml CppWinrtRules.Project.xml
echo d | xcopy $(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib build\native\lib\i386
echo d | xcopy $(Build.SourcesDirectory)\x86\cppwinrt_fast_forwarder.lib build\native\lib\Win32
echo d | xcopy $(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib build\native\lib\amd64
echo d | xcopy $(Build.SourcesDirectory)\x64\cppwinrt_fast_forwarder.lib build\native\lib\x64
echo d | xcopy $(Build.SourcesDirectory)\arm\cppwinrt_fast_forwarder.lib build\native\lib\arm
echo d | xcopy $(Build.SourcesDirectory)\arm64\cppwinrt_fast_forwarder.lib build\native\lib\arm64

- stage: NuGet
dependsOn: build
jobs:
- template: .pipelines/jobs/OneBranchNuGet.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)
OfficialBuild: true

- stage: Test
dependsOn: build
jobs:
- template: .pipelines/jobs/OneBranchTest.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)

- stage: Vsix
dependsOn: NuGet
jobs:
- template: .pipelines/jobs/OneBranchVsix.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)
OfficialBuild: true
70 changes: 70 additions & 0 deletions .pipelines/OneBranch.PullRequest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
parameters:
- name: 'debug'
displayName: 'Enable debug output'
type: boolean
default: false

variables:
- template: variables/version.yml
- template: variables/OneBranchVariables.yml
parameters:
debug: ${{ parameters.debug }}

name: PullRequest_2.0.$(date:yyMMdd)$(rev:.r)

trigger: none

pool:
type: windows

resources:
repositories:
- repository: templates
type: git
name: OneBranch.Pipelines/GovernedTemplates
ref: refs/heads/main

extends:
template: v2/Microsoft.NonOfficial.yml@templates
parameters:
platform:
name: 'windows_undocked'
product: 'build_tools'

globalSdl:
tsa:
enabled: false
sbom:
enabled: true

stages:
- stage: build
jobs:
- template: .pipelines/jobs/OneBranchBuild.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)

- stage: NuGet
dependsOn: build
jobs:
- template: .pipelines/jobs/OneBranchNuGet.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)

- stage: Test
dependsOn: build
jobs:
- template: .pipelines/jobs/OneBranchTest.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)

- stage: Vsix
dependsOn: NuGet
jobs:
- template: .pipelines/jobs/OneBranchVsix.yml@self
parameters:
BuildConfiguration: $(BuildConfiguration)
BuildVersion: $(BuildVersion)
Loading