• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Release_$(Build.SourceBranchName)_$(SourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
2
3variables:
4    __RealSigningCertificate: 'Python Software Foundation'
5# QUEUE TIME VARIABLES
6#   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
17#   PyDotOrgUsername: ''
18#   PyDotOrgServer: ''
19#   BuildToPublish: ''
20
21trigger: none
22pr: none
23
24stages:
25- stage: Build
26  displayName: Build binaries
27  condition: and(succeeded(), not(variables['BuildToPublish']))
28  jobs:
29  - template: windows-release/stage-build.yml
30
31- stage: Sign
32  displayName: Sign binaries
33  dependsOn: Build
34  condition: and(succeeded(), not(variables['BuildToPublish']))
35  jobs:
36  - template: windows-release/stage-sign.yml
37
38- stage: Layout
39  displayName: Generate layouts
40  dependsOn: Sign
41  condition: and(succeeded(), not(variables['BuildToPublish']))
42  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
49  condition: and(succeeded(), not(variables['BuildToPublish']))
50  jobs:
51  - template: windows-release/stage-pack-nuget.yml
52
53- stage: Test
54  dependsOn: Pack
55  condition: and(succeeded(), not(variables['BuildToPublish']))
56  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
63  condition: and(succeeded(), and(eq(variables['DoMSIX'], 'true'), not(variables['BuildToPublish'])))
64  jobs:
65  - template: windows-release/stage-layout-msix.yml
66
67- stage: Pack_MSIX
68  displayName: Package MSIX
69  dependsOn: Layout_MSIX
70  condition: and(succeeded(), not(variables['BuildToPublish']))
71  jobs:
72  - template: windows-release/stage-pack-msix.yml
73
74- stage: Build_MSI
75  displayName: Build MSI installer
76  dependsOn: Sign
77  condition: and(succeeded(), and(eq(variables['DoMSI'], 'true'), not(variables['BuildToPublish'])))
78  jobs:
79  - template: windows-release/stage-msi.yml
80
81- stage: Test_MSI
82  displayName: Test MSI installer
83  dependsOn: Build_MSI
84  condition: and(succeeded(), not(variables['BuildToPublish']))
85  jobs:
86  - template: windows-release/stage-test-msi.yml
87
88- stage: PublishPyDotOrg
89  displayName: Publish to python.org
90  dependsOn: ['Test_MSI', 'Test']
91  condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), not(variables['BuildToPublish'])))
92  jobs:
93  - template: windows-release/stage-publish-pythonorg.yml
94
95- stage: PublishNuget
96  displayName: Publish to nuget.org
97  dependsOn: Test
98  condition: and(succeeded(), and(eq(variables['DoPublish'], 'true'), not(variables['BuildToPublish'])))
99  jobs:
100  - template: windows-release/stage-publish-nugetorg.yml
101
102- stage: PublishStore
103  displayName: Publish to Store
104  dependsOn: Pack_MSIX
105  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']))
128  jobs:
129  - template: windows-release/stage-publish-store.yml
130