Skip to content

Commit 3174cf4

Browse files
committed
project.metafile comments
1 parent ac49aac commit 3174cf4

File tree

1 file changed

+39
-10
lines changed

1 file changed

+39
-10
lines changed

.yamato/project.metafile

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1-
# The small agent was created to handle jobs that don't involve running Unity (for example pack job).
1+
# DESCRIPTION-----------------------------------------------------------------------------------------------------------------
2+
# This file is the central configuration file defining test environments, platforms, projects, editors and other parameters used.
3+
# Data from this file is used to generate CI pipeline configurations through templating in other .yamato/ files.
4+
# This provides consistent environment definitions across all CI jobs. It's easier to modify values in central place (for example image reference) than having to modify every job
5+
6+
# VALUE MEANING----------------------------------------------------------------------------------------------------------------------------
7+
# Usual fields being defined are
8+
# name --> Identifier used to distinguish different configurations in the CI pipeline
9+
# type --> Specifies the Bokken agent type (e.g., Unity::VM, Unity::VM::osx, Unity::mobile::shield)
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+
# flavor --> Determines the VM size/resources (e.g., b1.small, b1.large, m1.mac)
12+
# standalone --> Specifies the build target platform (e.g., StandaloneLinux64, Android, IOS)
13+
# model --> Defines specific hardware model requirements (e.g., rtx2080, SE for iPhone SE)
14+
# base --> Indicates the base operating system for build operations (e.g., win, mac)
15+
# architecture --> Specifies the target CPU architecture (e.g., armv7, arm64)
16+
17+
18+
# SMALL AGENT CONFIGURATION---------------------------------------------------------------------------------------------------
19+
# The small agent was created to handle jobs that don't involve running Unity and are in general super light when it comes to resource usage (for example pack job).
220
# It uses ubuntu since Linux VMs are faster and cheaper to provision than Mac or Windows Virtual Machines (VMs).
321
# The b1.small flavour is nearly always sufficient for jobs that don’t involve running Unity Editor.
422
small_agent_platform:
@@ -7,7 +25,13 @@ small_agent_platform:
725
image: package-ci/ubuntu-22.04:v4
826
flavor: b1.small
927

10-
# Platforms that project will/can be tested on.
28+
29+
# PLATFORM CONFIGURATIONS----------------------------------------------------------------------------------------------------------------
30+
# test_platforms specifies platforms that project will/can be tested on.
31+
# For desktops we include Windows, Ubuntu and Mac, for mobiles we include Android and iOS, for consoles we include ps4, ps5, switch, xbox360 and xboxOne
32+
# For mobile and console a split was required for build and test jobs and this is also applied for desktops for consistency (though for desktop this split is not required)
33+
34+
1135
test_platforms:
1236
# Default platform is used for all basic jobs. Ubuntu was chosen since it's fastest and most available
1337
default:
@@ -35,6 +59,7 @@ test_platforms:
3559
flavor: m1.mac
3660
standalone: StandaloneOSX
3761
# For mobile devices there is a split between the build and run phase so there is a need of splitting specification for both
62+
# TODO: For android we could consider adding ARM64 configuration
3863
mobile_build:
3964
- name: android
4065
type: Unity::VM
@@ -43,7 +68,7 @@ test_platforms:
4368
standalone: Android
4469
base: win
4570
architecture: armv7
46-
# iOS modern builds are ARM64-only, thus no testing with armv7 (as in android case)
71+
# iOS modern builds are ARM64-only, thus no testing with armv7
4772
- name: ios-arm64
4873
type: Unity::VM::osx
4974
image: package-ci/macos-13:v4
@@ -121,9 +146,10 @@ test_platforms:
121146
flavor: b1.large
122147
standalone: GameCoreScarlett
123148

124-
125-
# Editors to be used for testing.
126-
# Since NGOv2 official support started from U6 it means that only those editors should be used for testing
149+
# EDITOR CONFIGURATIONS-------------------------------------------------------------------------------
150+
# Editors to be used for testing. NGOv1.X official support started from 2021.3 editor
151+
# TODO: When a new editor will be released it should be added to this list. Correct also if we will stop supporting one of the editors present here
152+
127153
validation_editors:
128154
default:
129155
- trunk
@@ -135,15 +161,18 @@ validation_editors:
135161
- trunk
136162

137163

138-
# Scripting backends used by Standalone RunTimeTests
164+
# Scripting backends used by Standalone RunTimeTests---------------------------------------------------
165+
139166
scripting_backends:
140167
- mono
141168
- il2cpp
142169

143170

144-
# Projects within the repository that will be tested. Name will be used
145-
# for job ids, so it should not contain spaces/non-supported characters
146-
# The default project will also be used for validation, code coverage etc.
171+
# PROJECTS CONFIGURATIONS-------------------------------------------------------------------------------
172+
# Projects within the repository that will be tested/build.
173+
# The default project should be used for general validation, code coverage and other tests where choice of project should not matter (because we are interested in NGO package)
174+
# has_tests --> describes if projects contains any tests to run.
175+
147176
projects:
148177
default:
149178
- name: testproject

0 commit comments

Comments
 (0)