|
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 | | -# Packs Netcode for GameObjects together with performing initial checks. |
5 | | -# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) could be used to save resources and speed up the process. |
6 | | -# If everyone adheres to this rule it can create bottlenecks (since everyone would use this machine) so we decided to pack with the same platform as the given job runs on |
| 4 | +# DESCRIPTION-------------------------------------------------------------------------- |
| 5 | + # This job is responsible for packing a specific package. It generates package artifacts (.tgz) required for testing and publishing, ensuring all dependencies are properly bundled and validated before any test execution. |
| 6 | + # The job itself doesn't test anything specific but rather it prepares project packages that will be consumed by other pipeline jobs. |
| 7 | + # The job performs additional validation by using Package Verification Pipeline (PVP). It includes x-ray validation for quick package structure verification |
| 8 | + # Because of that validation we can detect errors at the early stage of testing so not to waste CI resources |
| 9 | + |
| 10 | +# CONFIGURATION STRUCTURE-------------------------------------------------------------- |
| 11 | + # Jobs are generated using nested loops through: |
| 12 | + # 1. For all desktop platforms (Windows, Ubuntu, macOS) |
| 13 | + |
| 14 | +# TECHNICAL CONSIDERATIONS--------------------------------------------------------------- |
| 15 | + # Job does not require Unity Editor in order to perform packing. |
| 16 | + # Job uses PVP x-ray for lightweight validation |
| 17 | + # Job generates both packages artifacts and pvp-results file. |
| 18 | + # 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. |
| 19 | + |
| 20 | +# QUALITY CONSIDERATIONS-------------------------------------------------------------------- |
| 21 | + # To see where this job is included (in trigger job definitions) look into _triggers.yml file |
| 22 | + # TODO: we should aim to replace target PVP profile from supported to gold |
| 23 | + |
| 24 | +#------------------------------------------------------------------------------------ |
| 25 | + |
7 | 26 | {% for platform in test_platforms.desktop -%} |
8 | 27 | package_pack_-_ngo_{{ platform.name }}: |
9 | 28 | name: Package Pack (and x-ray) - NGO [{{ platform.name }}] |
|
0 commit comments