-
Notifications
You must be signed in to change notification settings - Fork 459
Expand file tree
/
Copy pathpackage-pack.yml
More file actions
51 lines (45 loc) · 3 KB
/
package-pack.yml
File metadata and controls
51 lines (45 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{% metadata_file .yamato/project.metafile %} # All configuration that is used to create different configurations (used in for loops) is taken from this file.
---
# DESCRIPTION--------------------------------------------------------------------------
# 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.
# The job itself doesn't test anything specific but rather it prepares project packages that will be consumed by other pipeline jobs.
# The job performs additional validation by using Package Verification Pipeline (PVP). It includes x-ray validation for quick package structure verification
# Because of that validation we can detect errors at the early stage of testing so not to waste CI resources
# CONFIGURATION STRUCTURE--------------------------------------------------------------
# Jobs are generated using nested loops through:
# 1. For all desktop platforms (Windows, Ubuntu, macOS)
# TECHNICAL CONSIDERATIONS---------------------------------------------------------------
# Job does not require Unity Editor in order to perform packing.
# Job uses PVP x-ray for lightweight validation
# Job generates both packages artifacts and pvp-results file.
# 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.
# QUALITY CONSIDERATIONS--------------------------------------------------------------------
# To see where this job is included (in trigger job definitions) look into _triggers.yml file
# TODO: we should aim to replace target PVP profile from supported to gold
#------------------------------------------------------------------------------------
{% for platform in test_platforms.desktop -%}
package_pack_-_ngo_{{ platform.name }}:
name: Package Pack (and x-ray) - NGO [{{ platform.name }}]
agent:
type: {{ platform.type }}
image: {{ platform.image }}
flavor: {{ platform.flavor }}
{% if platform.model %}
model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile)
{% endif %}
timeout: 0.25
variables:
XRAY_PROFILE: "supported ./pvpExceptions.json"
commands:
- python Tools/scripts/release.py # Needed to ensure that CHANGELOG is properly formatted for this test due to the fact that we have bumped package version (to properly perform vetting tests)
- upm-pvp pack "com.unity.netcode.gameobjects" --output upm-ci~/packages
- upm-pvp xray --packages "upm-ci~/packages/com.unity.netcode.gameobjects*.tgz" --results pvp-results
- upm-pvp require {% if platform.name == "win" %}"%XRAY_PROFILE%"{% else %}"$XRAY_PROFILE"{% endif %} --results pvp-results --allow-missing
artifacts:
logs:
paths:
- "pvp-results/*"
packages:
paths:
- "upm-ci~/**"
{% endfor -%}