You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
5.3 KiB
165 lines
5.3 KiB
# Parameters ARE available in template expressions, and parameters can have default values,
|
|
# so they can be used to control yaml flow.
|
|
|
|
# trigger ci builds for completed checkins into main and any release branches
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- main
|
|
- release/*
|
|
- internal/release/*
|
|
- internal/experimental/*
|
|
paths:
|
|
include:
|
|
- '*'
|
|
exclude:
|
|
- .github/*
|
|
- docs/*
|
|
- CODE-OF-CONDUCT.md
|
|
- CONTRIBUTING.md
|
|
- LICENSE.TXT
|
|
- PATENTS.TXT
|
|
- README.md
|
|
- SECURITY.md
|
|
- THIRD-PARTY-NOTICES.TXT
|
|
|
|
variables:
|
|
- name: TeamName
|
|
value: DotNetCore
|
|
# clean the local repo on the build agents
|
|
- name: Build.Repository.Clean
|
|
value: true
|
|
- ${{ if or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'), eq(variables['Build.Reason'], 'Manual')) }}:
|
|
- name: PostBuildSign
|
|
value: false
|
|
- ${{ else }}:
|
|
- name: PostBuildSign
|
|
value: true
|
|
- name: EnableLoc
|
|
value: ${{ contains(variables['Build.SourceBranch'], 'main') }}
|
|
- name: NativeToolsOnMachine
|
|
value: true
|
|
|
|
# used for post-build phases
|
|
- group: DotNet-Winforms-SDLValidation-Params
|
|
- group: AzureDevOps-Artifact-Feeds-Pats
|
|
- name: _InternalRuntimeDownloadArgs
|
|
value: /p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal
|
|
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
|
|
|
|
# Set up non-PR build from internal project
|
|
# needed for darc (dependency flow) publishing
|
|
- name: _PublishArgs
|
|
value: >-
|
|
/p:DotNetPublishUsingPipelines=true
|
|
- name: _OfficialBuildIdArgs
|
|
value: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
|
|
# needed for signing
|
|
- name: _SignType
|
|
value: real
|
|
- name: _SignArgs
|
|
value: /p:DotNetSignType=$(_SignType) /p:TeamName=$(_TeamName) /p:Sign=$(_Sign)
|
|
- name: _Sign
|
|
value: true
|
|
- ${{ if and(notin(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.SourceBranch'], 'refs/heads/main')) }}:
|
|
- name: enableSourceIndex
|
|
value: true
|
|
resources:
|
|
repositories:
|
|
- repository: 1ESPipelineTemplates
|
|
type: git
|
|
name: 1ESPipelineTemplates/1ESPipelineTemplates
|
|
ref: refs/tags/release
|
|
extends:
|
|
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
|
|
parameters:
|
|
sdl:
|
|
policheck:
|
|
enabled: true
|
|
binskim:
|
|
enabled: true
|
|
tsa:
|
|
enabled: true
|
|
configFile: '$(Build.SourcesDirectory)/eng/pipelines/tsaoptions.json'
|
|
featureFlags:
|
|
autoBaseline: true
|
|
pool:
|
|
${{ if eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true') }}:
|
|
name: NetCore1ESPool-Svc-Internal
|
|
${{ else }}:
|
|
name: NetCore1ESPool-Internal
|
|
# image is described here - https://helix.dot.net/#1ESHostedPoolImagesWestUS-rg-Internal
|
|
image: windows.vs2022preview.amd64
|
|
os: windows
|
|
customBuildTags:
|
|
- ES365AIMigrationTooling
|
|
stages:
|
|
|
|
- stage: Build
|
|
jobs:
|
|
|
|
# Windows x64
|
|
- template: /eng/pipelines/build.yml@self
|
|
parameters:
|
|
name: Windows_x64
|
|
targetArchitecture: x64
|
|
skipTests: $(SkipTests)
|
|
|
|
# Windows x86
|
|
- template: /eng/pipelines/build.yml@self
|
|
parameters:
|
|
name: Windows_x86
|
|
targetArchitecture: x86
|
|
skipTests: $(SkipTests)
|
|
|
|
# Windows arm64
|
|
- template: /eng/pipelines/build.yml@self
|
|
parameters:
|
|
name: Windows_arm64
|
|
targetArchitecture: arm64
|
|
skipTests: $(SkipTests)
|
|
|
|
- ${{ if eq(variables.enableSourceIndex, 'true') }}:
|
|
- template: /eng/common/templates-official/job/source-index-stage1.yml@self
|
|
parameters:
|
|
sourceIndexBuildCommand: eng\cibuild.cmd -restore -build -configuration Release /p:Platform=x64 /p:TargetArchitecture=x64 /bl:msbuild.binlog
|
|
binlogPath: msbuild.binlog
|
|
pool:
|
|
name: $(DncEngInternalBuildPool)
|
|
demands: ImageOverride -equals windows.vs2022preview.amd64
|
|
|
|
- ${{ if eq(variables['EnableLoc'], 'true') }}:
|
|
- stage: OneLocBuild
|
|
displayName: Publish localizable content to OneLocBuild
|
|
jobs:
|
|
- template: /eng/common/templates-official/job/onelocbuild.yml@self
|
|
parameters:
|
|
MirrorRepo: winforms
|
|
UseCheckedInLocProjectJson: true
|
|
LclSource: lclFilesfromPackage
|
|
LclPackageId: 'LCL-JUNO-PROD-WINFORMS'
|
|
|
|
- stage: PublishAssetRegistry
|
|
displayName: Publish to Build Asset Registry
|
|
dependsOn: Build
|
|
variables:
|
|
- template: /eng/common/templates-official/variables/pool-providers.yml@self
|
|
jobs:
|
|
# Publish to Build Asset Registry in order to generate the ReleaseConfigs artifact.
|
|
- template: /eng/common/templates-official/job/publish-build-assets.yml@self
|
|
parameters:
|
|
publishUsingPipelines: true
|
|
pool:
|
|
name: $(DncEngInternalBuildPool)
|
|
demands: ImageOverride -equals windows.vs2022preview.amd64
|
|
|
|
# Copied from the arcade repo and modified for winforms
|
|
- template: /eng/common/templates-official/post-build/post-build.yml@self
|
|
parameters:
|
|
validateDependsOn: PublishAssetRegistry
|
|
publishingInfraVersion: 3
|
|
enableSymbolValidation: false
|
|
enableSigningValidation: false
|
|
enableNugetValidation: false
|
|
enableSourceLinkValidation: false
|
|
|