blob: 3d072e3b43e17e06d680f2c10cebdebd3872c200 [file] [log] [blame]
Steve Dowerf78e66c2019-06-14 14:20:16 -07001name: Release_$(Build.SourceBranchName)_$(SourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
2
Miss Islington (bot)12f33122019-07-13 03:10:33 -07003variables:
4 __RealSigningCertificate: 'Python Software Foundation'
Steve Dowerf78e66c2019-06-14 14:20:16 -07005# QUEUE TIME VARIABLES
Steve Dowerf78e66c2019-06-14 14:20:16 -07006# GitRemote: python
7# SourceTag:
8# DoPGO: true
9# SigningCertificate: 'Python Software Foundation'
10# SigningDescription: 'Built: $(Build.BuildNumber)'
11# DoLayout: true
12# DoMSIX: true
13# DoNuget: true
14# DoEmbed: true
15# DoMSI: true
16# DoPublish: false
Miss Islington (bot)12f33122019-07-13 03:10:33 -070017# PyDotOrgUsername: ''
18# PyDotOrgServer: ''
19# BuildToPublish: ''
Steve Dowerf78e66c2019-06-14 14:20:16 -070020
21trigger: none
22pr: none
23
24stages:
25- stage: Build
26 displayName: Build binaries
Miss Islington (bot)12f33122019-07-13 03:10:33 -070027 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070028 jobs:
29 - template: windows-release/stage-build.yml
30
31- stage: Sign
32 displayName: Sign binaries
33 dependsOn: Build
Miss Islington (bot)12f33122019-07-13 03:10:33 -070034 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070035 jobs:
36 - template: windows-release/stage-sign.yml
37
38- stage: Layout
39 displayName: Generate layouts
40 dependsOn: Sign
Miss Islington (bot)12f33122019-07-13 03:10:33 -070041 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070042 jobs:
43 - template: windows-release/stage-layout-full.yml
44 - template: windows-release/stage-layout-embed.yml
45 - template: windows-release/stage-layout-nuget.yml
46
47- stage: Pack
48 dependsOn: Layout
Miss Islington (bot)12f33122019-07-13 03:10:33 -070049 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070050 jobs:
51 - template: windows-release/stage-pack-nuget.yml
52
53- stage: Test
54 dependsOn: Pack
Miss Islington (bot)12f33122019-07-13 03:10:33 -070055 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070056 jobs:
57 - template: windows-release/stage-test-embed.yml
58 - template: windows-release/stage-test-nuget.yml
59
60- stage: Layout_MSIX
61 displayName: Generate MSIX layouts
62 dependsOn: Sign
Miss Islington (bot)12f33122019-07-13 03:10:33 -070063 condition: and(succeeded(), and(eq(variables['DoMSIX'], 'true'), not(variables['BuildToPublish'])))
Steve Dowerf78e66c2019-06-14 14:20:16 -070064 jobs:
65 - template: windows-release/stage-layout-msix.yml
66
67- stage: Pack_MSIX
68 displayName: Package MSIX
69 dependsOn: Layout_MSIX
Miss Islington (bot)12f33122019-07-13 03:10:33 -070070 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070071 jobs:
72 - template: windows-release/stage-pack-msix.yml
73
74- stage: Build_MSI
75 displayName: Build MSI installer
76 dependsOn: Sign
Miss Islington (bot)12f33122019-07-13 03:10:33 -070077 condition: and(succeeded(), and(eq(variables['DoMSI'], 'true'), not(variables['BuildToPublish'])))
Steve Dowerf78e66c2019-06-14 14:20:16 -070078 jobs:
79 - template: windows-release/stage-msi.yml
80
81- stage: Test_MSI
82 displayName: Test MSI installer
83 dependsOn: Build_MSI
Miss Islington (bot)12f33122019-07-13 03:10:33 -070084 condition: and(succeeded(), not(variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -070085 jobs:
86 - template: windows-release/stage-test-msi.yml
87
88- stage: PublishPyDotOrg
89 displayName: Publish to python.org
90 dependsOn: ['Test_MSI', 'Test']
Miss Islington (bot)12f33122019-07-13 03:10:33 -070091 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), not(variables['BuildToPublish'])))
Steve Dowerf78e66c2019-06-14 14:20:16 -070092 jobs:
93 - template: windows-release/stage-publish-pythonorg.yml
94
95- stage: PublishNuget
96 displayName: Publish to nuget.org
97 dependsOn: Test
Miss Islington (bot)12f33122019-07-13 03:10:33 -070098 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), not(variables['BuildToPublish'])))
Steve Dowerf78e66c2019-06-14 14:20:16 -070099 jobs:
100 - template: windows-release/stage-publish-nugetorg.yml
101
102- stage: PublishStore
103 displayName: Publish to Store
104 dependsOn: Pack_MSIX
Miss Islington (bot)12f33122019-07-13 03:10:33 -0700105 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), not(variables['BuildToPublish'])))
106 jobs:
107 - template: windows-release/stage-publish-store.yml
108
109
110- stage: PublishExistingPyDotOrg
111 displayName: Publish existing build to python.org
112 dependsOn: []
113 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), variables['BuildToPublish']))
114 jobs:
115 - template: windows-release/stage-publish-pythonorg.yml
116
117- stage: PublishExistingNuget
118 displayName: Publish existing build to nuget.org
119 dependsOn: []
120 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), variables['BuildToPublish']))
121 jobs:
122 - template: windows-release/stage-publish-nugetorg.yml
123
124- stage: PublishExistingStore
125 displayName: Publish existing build to Store
126 dependsOn: []
127 condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), variables['BuildToPublish']))
Steve Dowerf78e66c2019-06-14 14:20:16 -0700128 jobs:
129 - template: windows-release/stage-publish-store.yml