Skip to content

Commit f0d31bc

Browse files
authored
[Yamato] Auto version and preview promotion of 10.x.x stream [skip ci] (#815)
* set up auto version for master * create "promote all - nightly" job and edit dependencies * add nightly trigger to preview promote job * Update pb_promote.py
1 parent e2b8d40 commit f0d31bc

File tree

6 files changed

+83
-7
lines changed

6 files changed

+83
-7
lines changed

.yamato/_preview_publish.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ auto-version:
1616
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
1717
- upm-ci utils auto-version bump --package-path com.unity.render-pipelines.core --package-path com.unity.render-pipelines.universal --package-path com.unity.render-pipelines.high-definition --package-path com.unity.shadergraph --package-path com.unity.visualeffectgraph --package-path com.unity.render-pipelines.high-definition-config --package-path com.unity.render-pipelines.lightweight
1818
- upm-ci utils auto-version commit --push
19+
triggers:
20+
branches:
21+
only:
22+
- master
1923
artifacts:
2024
packages:
2125
paths:
@@ -30,6 +34,20 @@ publish_all_preview:
3034
- .yamato/_preview_publish.yml#publish_vfx
3135
- .yamato/_preview_publish.yml#publish_config
3236
- .yamato/_preview_publish.yml#publish_lwrp
37+
promote_all_preview:
38+
name: Promote all preview packages - nightly
39+
dependencies:
40+
- .yamato/_preview_publish.yml#promote_core
41+
- .yamato/_preview_publish.yml#promote_universal
42+
- .yamato/_preview_publish.yml#promote_hdrp
43+
- .yamato/_preview_publish.yml#promote_shadergraph
44+
- .yamato/_preview_publish.yml#promote_vfx
45+
- .yamato/_preview_publish.yml#promote_config
46+
- .yamato/_preview_publish.yml#promote_lwrp
47+
triggers:
48+
recurring:
49+
- branch: master
50+
frequency: daily
3351
wait_for_nightly:
3452
name: Wait for nightly
3553
dependencies:
@@ -82,7 +100,10 @@ promote_core:
82100
variables:
83101
UPMCI_PROMOTION: 1
84102
dependencies:
103+
- .yamato/_preview_publish.yml#publish_core
85104
- .yamato/_packages.yml#pack_core
105+
- .yamato/_packages.yml#test_core_OSX_trunk
106+
- .yamato/_packages.yml#test_core_Win_trunk
86107
commands:
87108
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
88109
- upm-ci package promote --package-path com.unity.render-pipelines.core
@@ -117,7 +138,10 @@ promote_universal:
117138
variables:
118139
UPMCI_PROMOTION: 1
119140
dependencies:
141+
- .yamato/_preview_publish.yml#publish_universal
120142
- .yamato/_packages.yml#pack_universal
143+
- .yamato/_packages.yml#test_universal_OSX_trunk
144+
- .yamato/_packages.yml#test_universal_Win_trunk
121145
commands:
122146
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
123147
- upm-ci package promote --package-path com.unity.render-pipelines.universal
@@ -152,7 +176,10 @@ promote_hdrp:
152176
variables:
153177
UPMCI_PROMOTION: 1
154178
dependencies:
179+
- .yamato/_preview_publish.yml#publish_hdrp
155180
- .yamato/_packages.yml#pack_hdrp
181+
- .yamato/_packages.yml#test_hdrp_OSX_trunk
182+
- .yamato/_packages.yml#test_hdrp_Win_trunk
156183
commands:
157184
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
158185
- upm-ci package promote --package-path com.unity.render-pipelines.high-definition
@@ -187,7 +214,10 @@ promote_shadergraph:
187214
variables:
188215
UPMCI_PROMOTION: 1
189216
dependencies:
217+
- .yamato/_preview_publish.yml#publish_shadergraph
190218
- .yamato/_packages.yml#pack_shadergraph
219+
- .yamato/_packages.yml#test_shadergraph_OSX_trunk
220+
- .yamato/_packages.yml#test_shadergraph_Win_trunk
191221
commands:
192222
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
193223
- upm-ci package promote --package-path com.unity.shadergraph
@@ -222,7 +252,10 @@ promote_vfx:
222252
variables:
223253
UPMCI_PROMOTION: 1
224254
dependencies:
255+
- .yamato/_preview_publish.yml#publish_vfx
225256
- .yamato/_packages.yml#pack_vfx
257+
- .yamato/_packages.yml#test_vfx_OSX_trunk
258+
- .yamato/_packages.yml#test_vfx_Win_trunk
226259
commands:
227260
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
228261
- upm-ci package promote --package-path com.unity.visualeffectgraph
@@ -257,7 +290,10 @@ promote_config:
257290
variables:
258291
UPMCI_PROMOTION: 1
259292
dependencies:
293+
- .yamato/_preview_publish.yml#publish_config
260294
- .yamato/_packages.yml#pack_config
295+
- .yamato/_packages.yml#test_config_OSX_trunk
296+
- .yamato/_packages.yml#test_config_Win_trunk
261297
commands:
262298
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
263299
- upm-ci package promote --package-path com.unity.render-pipelines.high-definition-config
@@ -292,7 +328,10 @@ promote_lwrp:
292328
variables:
293329
UPMCI_PROMOTION: 1
294330
dependencies:
331+
- .yamato/_preview_publish.yml#publish_lwrp
295332
- .yamato/_packages.yml#pack_lwrp
333+
- .yamato/_packages.yml#test_lwrp_OSX_trunk
334+
- .yamato/_packages.yml#test_lwrp_Win_trunk
296335
commands:
297336
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
298337
- upm-ci package promote --package-path com.unity.render-pipelines.lightweight

.yamato/ruamel/build.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from jobs.preview_publish.pb_promote import PreviewPublish_PromoteJob
2222
from jobs.preview_publish.pb_auto_version import PreviewPublish_AutoVersionJob
2323
from jobs.preview_publish.pb_publish_all_preview import PreviewPublish_PublishAllPreviewJob
24+
from jobs.preview_publish.pb_promote_all_preview import PreviewPublish_PromoteAllPreviewJob
2425
from jobs.preview_publish.pb_wait_for_nightly import PreviewPublish_WaitForNightlyJob
2526
from jobs.templates.template_pack import Template_PackJob
2627
from jobs.templates.template_test import Template_TestJob
@@ -224,6 +225,9 @@ def create_preview_publish_jobs(metafile_name):
224225
job = PreviewPublish_PublishAllPreviewJob(metafile["packages"], target_branch, metafile["publishing"]["auto_publish"])
225226
yml[job.job_id] = job.yml
226227

228+
job = PreviewPublish_PromoteAllPreviewJob(metafile["packages"], target_branch, metafile["publishing"]["auto_publish"])
229+
yml[job.job_id] = job.yml
230+
227231
job = PreviewPublish_WaitForNightlyJob(metafile["packages"], metafile["platforms"], target_editor)
228232
yml[job.job_id] = job.yml
229233

@@ -233,7 +237,7 @@ def create_preview_publish_jobs(metafile_name):
233237
job = PreviewPublish_PublishJob(get_agent(metafile["agent_publish"]), package, metafile["platforms"], target_editor)
234238
yml[job.job_id] = job.yml
235239

236-
job = PreviewPublish_PromoteJob(get_agent(metafile["agent_promote"]), package)
240+
job = PreviewPublish_PromoteJob(get_agent(metafile["agent_promote"]), package, metafile["platforms"], target_editor)
237241
yml[job.job_id] = job.yml
238242

239243
dump_yml(pb_filepath(), yml)

.yamato/ruamel/jobs/preview_publish/pb_auto_version.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def get_job_definition(self, agent, packages, target_branch, auto_version):
2323
f'npm install upm-ci-utils@stable -g --registry {NPM_UPMCI_INSTALL_URL}',
2424
f'upm-ci utils auto-version bump {bump_packages_args}',
2525
f'upm-ci utils auto-version commit --push'])
26+
job.add_trigger_integration_branch(target_branch)
2627
job.add_artifacts_packages()
2728
# if auto_version is True:
2829
# job.add_trigger_integration_branch(target_branch)

.yamato/ruamel/jobs/preview_publish/pb_promote.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,29 @@
55

66
class PreviewPublish_PromoteJob():
77

8-
def __init__(self, agent, package):
8+
def __init__(self, agent, package, platforms, target_editor):
99
self.job_id = pb_job_id_promote(package["name"])
10-
self.yml = self.get_job_definition(agent, package).get_yml()
10+
self.yml = self.get_job_definition(agent, package, platforms, target_editor).get_yml()
1111

1212

13-
def get_job_definition(self, agent, package):
14-
13+
def get_job_definition(self, agent, package, platforms, target_editor):
1514
if package["publish_source"] != True:
1615
raise Exception('Tried to promote package for which "publish_source" set to false.')
16+
17+
# define dependencies
18+
dependencies = [
19+
f'{pb_filepath()}#{pb_job_id_publish(package["name"])}',
20+
f'{packages_filepath()}#{package_job_id_pack(package["name"])}']
21+
22+
for platform in platforms:
23+
dependencies.append(f'{packages_filepath()}#{package_job_id_test(package["name"], platform["os"], target_editor)}')
1724

1825
# construct job
1926
job = YMLJob()
2027
job.set_name(f'[{package["name"]}] Production Promote')
2128
job.set_agent(agent)
2229
job.add_var_custom('UPMCI_PROMOTION', 1)
23-
job.add_dependencies([f'{packages_filepath()}#{package_job_id_pack(package["name"])}'])
30+
job.add_dependencies(dependencies)
2431
job.add_commands([
2532
f'npm install upm-ci-utils@stable -g --registry {NPM_UPMCI_INSTALL_URL}',
2633
f'upm-ci {package["type"]} promote --{package["type"]}-path {package["path"]}'])
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from ruamel.yaml.scalarstring import DoubleQuotedScalarString as dss
2+
from ..shared.namer import *
3+
from ..shared.yml_job import YMLJob
4+
5+
class PreviewPublish_PromoteAllPreviewJob():
6+
7+
def __init__(self, packages, target_branch, auto_publish):
8+
self.job_id = pb_job_id_promote_all_preview()
9+
self.yml = self.get_job_definition(packages, target_branch, auto_publish).get_yml()
10+
11+
12+
def get_job_definition(self, packages, target_branch, auto_publish):
13+
14+
# construct job
15+
job = YMLJob()
16+
job.set_name(f'Promote all preview packages - nightly')
17+
job.add_dependencies([f'{pb_filepath()}#{pb_job_id_promote(package["name"])}' for package in packages])
18+
if auto_publish is True:
19+
job.add_trigger_recurrent(target_branch, 'daily')
20+
return job
21+
22+

.yamato/ruamel/jobs/shared/namer.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,7 @@ def pb_job_id_wait_for_nightly():
103103
return f'wait_for_nightly'
104104

105105
def pb_job_id_publish_all_preview():
106-
return f'publish_all_preview'
106+
return f'publish_all_preview'
107+
108+
def pb_job_id_promote_all_preview():
109+
return f'promote_all_preview'

0 commit comments

Comments
 (0)