|
1 | | -{% metadata_file .yamato/project.metafile %} |
| 1 | +{% metadata_file .yamato/project.metafile %} # All configuration that is used to create different configurations (used in for loops) is taken from this file. |
2 | 2 | --- |
3 | 3 |
|
4 | | -# Executes package tests for each package referenced in the project using the newest compatible version of the package dependencies. |
5 | | -# This is just to ensure that no critical change is made. It will be run on a default editor and default platform (it can be discussed if we should run it per all editors and platforms) |
6 | | -{% for project in projects.default -%} |
7 | | -{% for platform in test_platforms.default -%} |
8 | | -{% for editor in validation_editors.default -%} |
| 4 | +# DESCRIPTION-------------------------------------------------------------------------- |
| 5 | + # Validates package compatibility with latest dependency versions |
| 6 | + # Tests each package referenced in the project against newest compatible dependency versions |
| 7 | + # Helps detect potential breaking changes from dependency updates early |
| 8 | + # Runs on default editor/platform to balance between coverage and resource usage |
| 9 | + |
| 10 | +# CONFIGURATION STRUCTURE-------------------------------------------------------------- |
| 11 | + # Jobs are generated using nested loops through: |
| 12 | + # 1. Default projects only (optimized subset from project.metafile) |
| 13 | + # 2. Default platform (typically Ubuntu for resource efficiency) |
| 14 | + # 3. Default editor version (latest stable) |
| 15 | + # This focused configuration allows quick validation while managing resource usage |
| 16 | + |
| 17 | +# TECHNICAL CONSTRAINTS---------------------------------------------------------------- |
| 18 | + # - Requires successful project packaging before execution |
| 19 | + # - Tests only NGO package dependencies (com.unity.netcode.gameobjects) |
| 20 | + # - Uses default configurations to optimize CI resource usage |
| 21 | + # - Generates test results in upm-ci~/test-results directory |
| 22 | + # - Dependencies must follow semantic versioning for proper version resolution |
| 23 | + |
| 24 | +#-------------------------------------------------------------------------------------- |
| 25 | + |
| 26 | +{% for project in projects.all -%} # Jobs are being defined per each project as in project.metafile (testproject, minimalproject, testproject-tools-integration). |
| 27 | +{% for platform in test_platforms.desktop -%} # Jobs are being defined per each desktop platform as in project.metafile declaration (Win, Ubuntu, Mac) |
| 28 | +{% for editor in validation_editors.all -%} # Jobs are being defined per each supported editor (For NGOv2.X it means 6000+) |
9 | 29 | updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }}: |
10 | 30 | name : Updated Dependencies Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] |
11 | 31 | agent: |
12 | | - type: {{ platform.type }} |
13 | | - image: {{ platform.image }} |
14 | | - flavor: {{ platform.flavor }} |
| 32 | + type: {{ platform.type }} # Defines type from platform configuration (for example Unity::VM). For packing no GPU extension is needed |
| 33 | + image: {{ platform.image }} # Bokken image specification |
| 34 | + flavor: {{ platform.flavor }} # Memory/CPU allocation configuration |
15 | 35 | commands: |
16 | | - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm |
17 | | - - upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type updated-dependencies-tests --package-filter com.unity.netcode.gameobjects |
| 36 | + - upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type updated-dependencies-tests --package-filter com.unity.netcode.gameobjects # Execute dependency update tests with specific package filter |
18 | 37 | artifacts: |
19 | 38 | logs: |
20 | 39 | paths: |
21 | | - - "upm-ci~/test-results/**/*" |
| 40 | + - "upm-ci~/test-results/**/*" # Test execution logs and results |
22 | 41 | dependencies: |
23 | | - - path: .yamato/project-pack.yml#project_pack_-_{{ project.name }}_{{ platform.name }} |
24 | | - rerun: always |
| 42 | + - .yamato/project-pack.yml#project_pack_-_{{ project.name }}_{{ platform.name }} # Requires packaged project to be available |
25 | 43 | {% endfor -%} |
26 | 44 | {% endfor -%} |
27 | 45 | {% endfor -%} |
0 commit comments