You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .yamato/_triggers.yml
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@
44
44
# It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job.
# After some experimenting with CI setups we discovered that even though sometimes we don't need CI to run (no reason to run package tests if only Documentation is changed) there are some checks that devs may not realize but changes in seemingly unrelated files will cause their failures
50
50
# This trigger was created to ensure that ALL PRs run this minimal check even when we don't need to run full tests
@@ -82,7 +82,7 @@ pr_code_changes_checks:
82
82
83
83
# Run standalone test. We run it only on Ubuntu since it's the fastest machine, and it was noted that for example distribution on macOS is taking 40m since we switched to Apple Silicon
84
84
# Coverage on other standalone machines is present in Nightly job so it's enough to not run all of them for PRs
# This job runs in Editor context only (no player builds required)
16
16
# No scripting backend variations needed (Editor context)
17
17
# Architecture variations not applicable (Editor context)
18
18
# Requires project packaging as prerequisite (dependency job)
19
19
# Uses PVP for package validation. Specifically it looks for supported profiles which we should conform to but takes ./pvpExceptions.json file into consideration where we note our known issues related to PVP checks
# This job is responsible for packing a specific project. It generates package artifacts (.tgz) required for testing and publishing, ensuring all dependencies are properly bundled and validated before any test execution.
6
6
# The job itself doesn't test anything specific but rather it prepares project packages that will be consumed by other pipeline jobs.
# Job does not require Unity Editor in order to perform packing.
15
15
# In theory, we could just use one platform for packing projects (for example ubuntu) but in order to reduce confusion we are using same platform as the job utilizing project pack as dependency.
# To see where this job is included (in trigger job definitions) look into _triggers.yml file
19
-
# TODO: Currently upm-ci is being used but in the future it will be replaced by upm-pvp. Additionally this would allow us to run PVP checks on projects
model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile)
34
32
{% endif %}
35
33
commands:
36
-
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm # upm-ci is not preinstalled on the image so we need to download it
# Jobs configurations are generated using nested loops through:
11
11
# 1. For all projects WITH TESTS (filtered by has_tests flag) (testproject, testproject-tools-interation) [For more info look into project.metafile configuration]
12
12
# 2. For all desktop platforms (Windows, Ubuntu, macOS)
13
13
# 3. For all supported Unity Editor versions (for NGOv2.X this means 6000.0+ editors)
model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile)
39
38
{% endif %}
40
39
commands:
41
-
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm # upm-ci is not preinstalled on the image so we need to download it
42
40
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor {% if platform.name == "mac" %} --arch arm64 {% endif %} # For macOS we use ARM64 models. Installing basic editor for tests execution
Copy file name to clipboardExpand all lines: .yamato/project.metafile
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@
9
9
# type --> Specifies the Bokken agent type (e.g., Unity::VM, Unity::VM::osx, Unity::mobile::shield)
10
10
# image --> Defines the package-ci Bokken image to use for the environment (e.g., package-ci/ubuntu-22.04:v4). This is basically a device configuration
11
11
# flavor --> Determines the VM size/resources (e.g., b1.small, b1.large, m1.mac)
12
+
# smaller_flavor --> An override for flavor that determines the VM size/resources for lighter weight jobs that can run on a smaller vm
# model --> Defines specific hardware model requirements (e.g., rtx2080, iPhone model 13). Notice that trunk currently (19.08.2025) has 13.0 as minimal iOS version which devices below this are not supporting
14
15
# base --> Indicates the base operating system for build operations (e.g., win, mac)
@@ -45,18 +46,21 @@ test_platforms:
45
46
type: Unity::VM
46
47
image: package-ci/ubuntu-22.04:v4
47
48
flavor: b1.large
49
+
smaller_flavor: b1.medium
48
50
standalone: StandaloneLinux64
49
51
model: rtx2080
50
52
- name: win
51
53
type: Unity::VM
52
54
image: package-ci/win10:v4
53
55
flavor: b1.large
56
+
smaller_flavor: b1.medium
54
57
standalone: StandaloneWindows64
55
58
model: rtx2080
56
59
- name: mac
57
60
type: Unity::VM::osx
58
61
image: package-ci/macos-13-arm64:v4 # ARM64 to support M1 model (below)
59
62
flavor: m1.mac
63
+
smaller_flavor: m1.mac # mac doesn't have a smaller vm size. We define it anyway as it simplifies the yaml templating to have it defined.
60
64
standalone: StandaloneOSX
61
65
model: M1 # The default model (an x64 Intel Mac VM) quite often caused a known issue of doing all the bitflips in packages resulting in failures
62
66
# For mobile devices there is a split between the build and run phase so there is a need of splitting specification for both
0 commit comments