Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
3c78df1
refactor!: file reorganizaiton for packagization
mattwalsh-unity Oct 5, 2020
996d46d
feat: performance counters, project cleanup
mattwalsh-unity Oct 5, 2020
92d0949
fix: Proper Package setup with yamato support
wackoisgod Oct 6, 2020
fb63c14
docs: putting the License file in the root
wackoisgod Oct 6, 2020
109070d
fix: Fixing references
wackoisgod Oct 7, 2020
4e23925
fix: Fixing Git Ignore and Warnings
wackoisgod Oct 7, 2020
adf85cb
fix: Do not use GUIDS for packages
wackoisgod Oct 7, 2020
90c6fa6
fix: Fixing editor upon clean checkout
wackoisgod Oct 7, 2020
52cd356
fix: Meta files restored (now we have the stable GUIDs)
Jura-Z Oct 9, 2020
9a349f2
fix: Revert transport API changes.
LukeStampfli Oct 22, 2020
9a0910c
refactor: Remove SyncVars support
mattwalsh-unity Oct 30, 2020
a34c4c7
refactor!: clientId added to MoveValidationDelegate
dzolnik Nov 18, 2020
613cc89
refactor: use hashset for spawned objs, remove MaxObjectUpdatesPerTick
mattwalsh-unity Nov 26, 2020
a098e1c
Merge branch 'develop' of github.com:Unity-Technologies/com.unity.mul…
mattwalsh-unity Dec 5, 2020
3e095ff
Updating the utp package readme
andrews-unity Dec 5, 2020
8e7e3ca
Merge pull request #395 from Unity-Technologies/utp-transport-readme
wackoisgod Dec 5, 2020
3086948
fix: Remove NetworkingManagerEditor maxObjectUpdatePerTick property c…
LukeStampfli Dec 6, 2020
a5737ea
Merge pull request #397 from LukeStampfli/feature/fix_remove_MaxObjec…
LukeStampfli Dec 6, 2020
bf7444b
feat(serialization): Bringing over the DataStream class from UTP with…
wackoisgod Dec 7, 2020
592faee
tests(serialization): Adding Tests for DataStream
wackoisgod Dec 7, 2020
7dce94a
Merge pull request #398 from Unity-Technologies/feature/datastream_se…
NoelStephensUnity Dec 7, 2020
ab93f0b
fix: Fixed transform range interpolation (#399)
TwoTenPvP Dec 11, 2020
726b77f
ci: Update yamato templates (#401)
JesseOlmer Dec 11, 2020
4c571aa
refactor: internally breaking, send no longer has client obj parameter
mattwalsh-unity Nov 7, 2020
03e6018
Merge pull request #407 from Unity-Technologies/feature/send_no_clien…
mattwalsh-unity Dec 17, 2020
7dab00a
refactor: move client iteration to outermost loop
mattwalsh-unity Dec 15, 2020
f684556
initial chunk
0xFA11 Dec 9, 2020
4f9fc18
implement rpc params and reliability, refactor ILPP
0xFA11 Dec 11, 2020
b81c871
rename rpc attributes and update xmldoc
0xFA11 Dec 11, 2020
1c3fa19
implement unity diagnostics error messages
0xFA11 Dec 15, 2020
e2121d4
fix yamato build (using var syntax is not supported by the compiler)
0xFA11 Dec 15, 2020
925124f
fix: Fixing an issue with latest trunk and ILPP
wackoisgod Dec 15, 2020
cc95c7b
fix: Make codegen great again. Fixed some resolver issues on linux an…
andrews-unity Dec 15, 2020
c59bc72
minor refactor
0xFA11 Dec 16, 2020
0f9e083
NETC-8
NoelStephensUnity Dec 16, 2020
f7bfc9a
NETC-8
NoelStephensUnity Dec 16, 2020
35935e8
Implement RFC #1: Standard RPC to replace Convenience and Performance…
0xFA11 Dec 17, 2020
dc35020
merge branch 'develop' into 'feature-rpcqueue2'
0xFA11 Dec 17, 2020
d735cba
MTT-8 PR Changes
NoelStephensUnity Dec 18, 2020
a1e4d61
minor refactor
0xFA11 Dec 19, 2020
359462a
Merge branch 'develop' into feature/client-outer-loop
mattwalsh-unity Dec 19, 2020
29b1616
Merge pull request #419 from Unity-Technologies/feature/client-outer-…
mattwalsh-unity Dec 19, 2020
79ab26b
Merge branch 'develop' into feature-rpcqueue2
0xFA11 Dec 20, 2020
44e6399
Merge pull request #413 from Unity-Technologies/feature-rpcqueue2
NoelStephensUnity Jan 5, 2021
51b9e2e
Feature/rpcbatch3 (#428)
Jan 7, 2021
7881f75
Fix/migration cleanup lost changes (#417)
LukeStampfli Jan 8, 2021
121e9d7
fix: disable NetworkBehaviourILPP on Runtime Assembly (#440)
0xFA11 Jan 12, 2021
210e5fc
fix: read/write bytes for bools instead of bit-packing (hotfix bool s…
0xFA11 Jan 12, 2021
2ceb7eb
fix: Dispose of PooledBitStream used in the MessageBatcher (#436)
Jan 13, 2021
528813a
refactor: rpcqueue (#433)
NoelStephensUnity Jan 13, 2021
634a140
feat: RPC Network Update Order and Network Update Loop Registration (…
NoelStephensUnity Jan 15, 2021
224276c
refactor: channel internally represented with bytes vs. strings [MTT-…
mattwalsh-unity Jan 15, 2021
78b0b9a
refactor: ILPP on 2019.4 and 2020.2+ (#447)
wackoisgod Jan 21, 2021
d11088c
refactor: remove Unity.Collections package dependency (#441)
0xFA11 Jan 21, 2021
400a2be
fix: RpcQueueContainer deregister from NetworkUpdateManager (#453)
NoelStephensUnity Jan 22, 2021
b2045f1
refactor: reference channels as bytes through the transport layer (#455)
mattwalsh-unity Jan 28, 2021
1b3a020
fix: Fix a duplicate value bug with NetworkedList/Dictionary in serve…
LukeStampfli Feb 1, 2021
d352dce
feat: Serializable Types (RFC#2) (#459)
0xFA11 Feb 2, 2021
07385cf
Fix: Loopback RPCs in host mode (#460)
NoelStephensUnity Feb 3, 2021
f6c8375
feat: RPC Delivery Types (#462)
0xFA11 Feb 4, 2021
bc2752c
test: RpcBatcher Tests (#465)
0xFA11 Feb 4, 2021
797f65e
implement RequireOwnership checks in RPC middleware backed by Network…
0xFA11 Feb 5, 2021
bf63528
test: add MLAPI Runtime Tests (#467)
NoelStephensUnity Feb 5, 2021
2314ab9
fix: Defaulting to usage of queueItem.clientIds for batching of unexp…
jeffreyrainy Feb 6, 2021
9ee3d50
fix: Host mode loop back with additional clients bug (#469)
NoelStephensUnity Feb 6, 2021
0a92932
feat(testproject): add shooty cubes project (#470)
0xFA11 Feb 8, 2021
2ffcfb4
refactor: reference channels as bytes through the transport layer (#463)
mattwalsh-unity Feb 8, 2021
27263d3
refactor: move RpcBatcher under Messaging namespace and directory (#474)
0xFA11 Feb 9, 2021
6b1de43
feat: FileLogger. A small utility to log to a file identified by proc…
jeffreyrainy Feb 17, 2021
e96472b
Revert "feat: FileLogger. A small utility to log to a file identified…
jeffreyrainy Feb 19, 2021
1233cae
Removing enet transport from official repo (#487)
wackoisgod Feb 23, 2021
bae18df
feat: Network Update Loop (RFC #8) (#483)
0xFA11 Feb 24, 2021
a5f0e66
fix: Improve hash collision error message to tell which PrefabHashGen…
LukeStampfli Feb 24, 2021
54393f3
fix: mtt-505 (#493)
NoelStephensUnity Feb 24, 2021
6a5a48e
fix: preventing NaN quaternions due to numerical precision issues (#498)
jeffreyrainy Feb 25, 2021
897930c
test: improvements upon the testproject (tools for MTT-63) (#492)
jeffreyrainy Feb 25, 2021
a950848
ci: Add conventional commit check for PRs (#497)
JesseOlmer Feb 25, 2021
6bc2289
fix: Shutting down client or host/server and not being able to start …
NoelStephensUnity Feb 25, 2021
bb3a9e5
feat: single NetworkObject per GameObject (#494)
0xFA11 Feb 26, 2021
45ec6bf
feat: implement NetworkTickSystem based on NetworkUpdateLoop (#502)
jeffreyrainy Feb 26, 2021
76b2a3e
feat: add 'testing' assembly definition under testproject (#506)
0xFA11 Feb 26, 2021
18c1a0a
feat: Adding in Performance Tick Data that stores data for external c…
kvassall-unity Feb 26, 2021
3ea55cd
feat!: implement tick-based synchronized NetworkVar (#482)
jeffreyrainy Feb 26, 2021
82fb0a2
feat: re-implement NetworkAnimator (#507)
0xFA11 Feb 28, 2021
3186255
docs: update CLA wording (#499)
LukeStampfli Mar 1, 2021
acacfc5
fix: replace network chick with unity chan (#517)
0xFA11 Mar 1, 2021
5c4a3e9
refactor: remove encryption (#509)
0xFA11 Mar 2, 2021
4324f0b
fix: Shutdown() before Singleton = null on NetworkManager.OnDestroy()…
0xFA11 Mar 2, 2021
ba77466
feat: New MLAPI Profiler using Profiler Dynamic Modules and Overrides…
Mar 2, 2021
20a89c7
refactor!: Delete MLAPI Installer (#520)
TwoTenPvP Mar 2, 2021
ae4183e
refactor!: Removing the old MLAPI Profiler from UNITY_2020_2_OR_LATER…
kvassall-unity Mar 3, 2021
0318b10
chore: update package manifest version to 0.1.0 (#523)
mattwalsh-unity Mar 3, 2021
d0b9dfc
refactor!: rename types consistently (#513)
0xFA11 Mar 3, 2021
399c7b3
docs: cleaned up readme, 3rd party license, etc. (#524)
mattwalsh-unity Mar 3, 2021
6e454fa
test: add RpcQueue unit tests (#521)
NoelStephensUnity Mar 4, 2021
d2c60e4
refactor!: reformat source files, apply Unity standards (#514)
0xFA11 Mar 4, 2021
bc7611e
refactor: remove samples and lag compensation (#527)
0xFA11 Mar 4, 2021
feea3c1
feat: Add NetworkAddress and NetworkPort properties to Transport. (#512)
LukeStampfli Mar 4, 2021
f0ed667
revert: Add NetworkAddress and NetworkPort properties to Transport. (…
mattwalsh-unity Mar 4, 2021
919462c
test: expose runtime internals to runtime tests asmdef (#534)
0xFA11 Mar 5, 2021
2546ef2
ci: enable yamato on PRs targeting master, develop and release/* bran…
0xFA11 Mar 5, 2021
41ac963
ci: enable conventional PR checks on PRs targeting release branches (…
0xFA11 Mar 5, 2021
de8a405
fix: Correctly collecting and drawing counters on dynamic modules (#539)
Mar 5, 2021
7fd6e10
refactor: Improve error messages for NetworkPrefab list. (#538)
LukeStampfli Mar 5, 2021
5e46275
refactor: Refactor spawncall and improve error handling for client si…
LukeStampfli Mar 5, 2021
07def31
fix: re-fix yamato release branch wildcard regex (#542)
0xFA11 Mar 6, 2021
ddf9d9b
fix: NetworkWriter.WriteObjectPacked to call WriteBool instead of Wri…
0xFA11 Mar 6, 2021
5187de6
fix: revert Application.isPlaying check in NetworkScenePostProcess (#…
0xFA11 Mar 8, 2021
59ce805
test: implement test for NetworkUpdateLoop injecting NetworkUpdateSta…
0xFA11 Mar 8, 2021
3b0c29d
refactor: rename spawn/destroy register/unregister methods (#551)
0xFA11 Mar 8, 2021
44cfa29
test: implement extra features on top of existing NetworkUpdateLoopTe…
0xFA11 Mar 9, 2021
f027e58
fix: exposing the network tick interval in the Editor (#566)
jeffreyrainy Mar 9, 2021
db4f940
ci: remove the --dry-run attribute on our package publish job (#567)
JesseOlmer Mar 9, 2021
3673ffc
refactor: remove NetworkManager.Singleton dependencies, add additiona…
NoelStephensUnity Mar 10, 2021
8f8770a
refactor: shutdown queue flush, max RpcQueueHistoryFrame, and spellin…
NoelStephensUnity Mar 10, 2021
b0c37e8
revert: refactor RPQQueue singleton, shutdown queue flush (#585)
mattwalsh-unity Mar 10, 2021
0743a97
fix: adjusting netvars manual tests (#583)
jeffreyrainy Mar 10, 2021
36607e7
fix: revert ReferenceEquals() checks back to Unity's custom == equali…
0xFA11 Mar 11, 2021
1817f62
fix: Moving tick writing out of NetworkVariable and into NetworkBehav…
jeffreyrainy Mar 12, 2021
9691b49
fix: networkprefab upgrade with formerlyserializedas attribute (#619)
LukeStampfli Mar 15, 2021
2fdbdec
test: [testProject] Using the existing NetworkTransform (RPC) instead…
jeffreyrainy Mar 15, 2021
2fb5e8c
fix: Removing MLAPI Profiler for 2020.2 and higher (fix #595) (#612)
Mar 15, 2021
9ffb544
feat: Remove lag compensation related stuff from config (#622)
LukeStampfli Mar 15, 2021
28f81d6
fix: fixing the number of connections counter to be correctly named a…
kvassall-unity Mar 15, 2021
7346a2f
fix: ServerDestroySpawnedSceneObjects throws an exception before swit…
NoelStephensUnity Mar 15, 2021
8b2e771
fix: unregister NetworkPlayerLoop systems from PlayerLoop (#588)
0xFA11 Mar 15, 2021
a39c4d6
fix: Mark Scene dirty when automatically adding a scene to the scene …
becksebenius-unity Mar 15, 2021
05206d6
refactor: Clarify naming of profiler constants (fix #602 and fix #603…
Mar 15, 2021
25d341c
fix: Add require component attribute to network navmesh agent. (#615)
LukeStampfli Mar 15, 2021
8ff56bf
ci: target 2019.4 LTS, 2020.3 LTS, 2021.1 TECH, 2021.2 TECH and trunk…
0xFA11 Mar 16, 2021
0203fac
fix: implement warning logs on non-owner invoking ServerRpc that requ…
0xFA11 Mar 16, 2021
8ea85ea
fix: Correcting the profiler names for network vars to be appropriate…
kvassall-unity Mar 16, 2021
c71edf9
test: NetworkTickSystem test (#630)
jeffreyrainy Mar 16, 2021
79fbed1
fix: Fix object traversal assigning instanceIds to none scene objects…
TwoTenPvP Mar 16, 2021
db2a9f5
fix: Correcting the profiler names for named messages vars to be appr…
kvassall-unity Mar 16, 2021
39604a3
fix: prevent OnPerformanceTickData from sending data on null (#614)
kvassall-unity Mar 16, 2021
24d80d1
fix: use specified transport channel instead of hardcoded reliablerpc…
0xFA11 Mar 17, 2021
7c388bf
docs: added release notes to changelog.md (#569)
lkrell Mar 17, 2021
3ed349f
docs: Update repository/project docs (#636)
Mar 17, 2021
56a02e6
docs: Add content for mlapi manual.md (#639)
Mar 17, 2021
3047068
fix: Removed per-tick runtime allocations by reusing memory between t…
becksebenius-unity Mar 18, 2021
0786f7b
fix: fixed network activity occurring outside the core update getting…
becksebenius-unity Mar 18, 2021
cfef12c
fix: Resolve an issue where 2019.4 would not properly run ILPP with a…
wackoisgod Mar 18, 2021
9dd62c7
build: add Unity module dependencies explicitly (#648)
0xFA11 Mar 19, 2021
d141a89
Merge branch 'release/0.1.0' into master_tmp
mattwalsh-unity Mar 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .github/workflows/conventional-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Conventional PR

# Controls when the action will run.
on:
pull_request:
branches:
- master
- develop
- release/**

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: semantic-pull-request
# Internal Unity mirror available at jesseo/action-semantic-pull-request, but actions from private repos aren't supported, so continue to use the public one below
uses: amannn/action-semantic-pull-request@b7a9a97cb10fa6e1ae02647e718798175f6b1f1d
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Provide custom types if you don't want the default ones from https://www.conventionalcommits.org
types: # optional
# Configure which scopes are allowed.
#scopes: # optional
# Configure that a scope must always be provided.
#requireScope: # optional
# Configure additional validation for the subject based on a regex. E.g. '^(?![A-Z]).+$' ensures the subject doesn't start with an uppercase character.
#subjectPattern: # optional
# If `subjectPattern` is configured, you can use this property to override the default error message that is shown when the pattern doesn't match. The variables `subject` and `title` can be used within the message.
#subjectPatternError: # optional
# For work-in-progress PRs you can typically use draft pull requests from Github. However, private repositories on the free plan don't have this option and therefore this action allows you to opt-in to using the special '[WIP]' prefix to indicate this state. This will avoid the validation of the PR title and the pull request checks remain pending. Note that a second check will be reported if this is enabled.
#wip: # optional
# When using "Squash and merge" on a PR with only one commit, GitHub will suggest using that commit message instead of the PR title for the merge commit, and it's easy to commit this by mistake. Enable this option to also validate the commit message for one commit PRs.
validateSingleCommit: true # optional
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,11 @@ artifacts/
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
Expand Down Expand Up @@ -155,6 +153,8 @@ PublishScripts/
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# Except Unity testproject Packages
!/testproject/Packages/**
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
Expand Down Expand Up @@ -186,7 +186,6 @@ _pkginfo.txt
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
Expand Down Expand Up @@ -261,4 +260,7 @@ __pycache__/
*.pyc

# Docs
docs/LastBuild.log
docs/LastBuild.log

# Unity Package Manager CI output
upm-ci~
16 changes: 0 additions & 16 deletions .releaserc

This file was deleted.

17 changes: 17 additions & 0 deletions .yamato/project-pack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{% metadata_file .yamato/project.metafile %}
---
{% for project in projects -%}
pack_{{ project.name }}:
name: Pack {{ project.name }}
agent:
type: Unity::VM
image: package-ci/ubuntu:stable
flavor: b1.small
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci project pack --project-path {{ project.path }}
artifacts:
packages:
paths:
- "upm-ci~/packages/**/*"
{% endfor -%}
66 changes: 66 additions & 0 deletions .yamato/project-promotion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{% metadata_file .yamato/project.metafile %}
---
{% for project in projects -%}
{% for package in project.packages -%}
# Validation job for package {{ package.name }}, only using the first entry in the
# platform and editor meta data
promotion_validate_{{ project.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}:
name : Validate Project {{ project.name }} - Package {{ package.name }} - {{ test_editors.first }} on {{ test_platforms.first.name }}
agent:
type: {{ test_platforms.first.type }}
image: {{ test_platforms.first.image }}
flavor: {{ test_platforms.first.flavor}}
variables:
UPMCI_PROMOTION: 1
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci project test -u {{ test_editors.first }} --project-path {{ project.path }} --type vetting-tests --package-filter {{ package.name }}
artifacts:
logs:
paths:
- "upm-ci~/test-results/**/*"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}

promote_{{ project.name }}_{{ package.name }}:
name: Promote Project {{ project.name }} - Package {{ package.name }} to Production
agent:
type: Unity::VM
image: package-ci/win10:stable
flavor: b1.small
variables:
UPMCI_PROMOTION: 1
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci package promote --package-path {{ package.path }}
artifacts:
artifacts:
paths:
- "upm-ci~/packages/*.tgz"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}
- .yamato/project-promotion.yml#promotion_validate_{{ project.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}

{% endfor -%}

promote_{{ project.name }}:
name: Promote ALL {{ project.name }} packages to Production
agent:
type: Unity::VM
image: package-ci/win10:stable
flavor: b1.small
variables:
UPMCI_PROMOTION: 1
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci project promote --project-path {{ project.path }}
artifacts:
artifacts:
paths:
- "upm-ci~/packages/*.tgz"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}
{% for package in packages -%}
- .yamato/project-promotion.yml#promotion_validate_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}
{% endfor -%}
{% endfor -%}
46 changes: 46 additions & 0 deletions .yamato/project-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{% metadata_file .yamato/project.metafile %}
---
{% for project in projects -%}
{% for package in project.packages -%}
publish_{{ project.name }}_{{ package.name }}:
name: Publish Project {{project.name }} - Package {{ package.name }} to Internal Registry
agent:
type: Unity::VM
image: package-ci/win10:stable
flavor: b1.large
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci package publish --package-path {{ package.path }}
artifacts:
artifacts:
paths:
- "upm-ci~/packages/*.tgz"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}
- .yamato/project-test.yml#validate_{{ project.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
- .yamato/project-test.yml#test_{{ project.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}

{% endfor -%}

publish_{{ project.name }}:
name: Publish ALL {{ project.name }} packages to Internal Registry
agent:
type: Unity::VM
image: package-ci/win10:stable
flavor: b1.large
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci project publish --project-path {{ project.path }}
artifacts:
artifacts:
paths:
- "upm-ci~/packages/*.tgz"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}
- .yamato/project-test.yml#all_tests_trigger

{% endfor -%}
137 changes: 137 additions & 0 deletions .yamato/project-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
{% metadata_file .yamato/project.metafile %}
---
# Go through all platforms, editors and packages in the metadata
# to generate its independent package tests and validation tests.
# The idea is to only run validation once per package and not mix.
# the results with package tests
{% for package in projects.first.packages -%}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
test_{{ projects.first.name}}_{{ package.name }}_{{ platform.name }}_{{ editor }}:
name : Test Project {{ projects.first.name }} - Package {{ package.name }} - {{ editor }} on {{ platform.name }}
agent:
type: {{ platform.type }}
image: {{ platform.image }}
flavor: {{ platform.flavor}}
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- {% if platform.name == "centos" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --project-path {{ projects.first.path }} --type package-tests --package-filter {{ package.name }}
artifacts:
logs:
paths:
- "upm-ci~/test-results/**/*"
dependencies:
- .yamato/project-pack.yml#pack_{{ projects.first.name }}

{% endfor -%}
{% endfor -%}

# Validation job for package {{ package.name }}, only using the first entry in the
# platform and editor meta data
# Validation only occurs in editmode.
validate_{{ projects.first.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}:
name : Validate Project {{ projects.first.name }} - Package {{ package.name }} - {{ test_editors.first }} on {{ test_platforms.first.name }}
agent:
type: {{ test_platforms.first.type }}
image: {{ test_platforms.first.image }}
flavor: {{ test_platforms.first.flavor}}
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- {% if platform.name == "centos" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ test_editors.first }} --project-path {{ projects.first.path }} --type vetting-tests --package-filter {{ package.name }} --platform editmode
artifacts:
logs:
paths:
- "upm-ci~/test-results/**/*"
dependencies:
- .yamato/project-pack.yml#pack_{{ projects.first.name }}
{% endfor -%}

# For every platform and editor version, run its project tests without
# running package tests too since they are handled on their respective
# jobs
{% for project in projects -%}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
test_{{ project.name }}_{{ editor }}_{{ platform.name }}:
name : Test Project {{ project.name }} - {{ editor }} on {{ platform.name }}
agent:
type: {{ platform.type }}
image: {{ platform.image }}
flavor: {{ platform.flavor}}
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- {% if platform.name == "centos" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests
artifacts:
logs:
paths:
- "upm-ci~/test-results/**/*"
dependencies:
- .yamato/project-pack.yml#pack_{{ project.name }}

{% endfor -%}
{% endfor -%}
{% endfor -%}

# Currently, we need to have a trigger to updated badges
# Only package badges currently exist
badges_test_trigger:
name: Badges Tests Trigger
agent:
type: Unity::VM
image: package-ci/ubuntu:stable
flavor: b1.small
commands:
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
- upm-ci package izon -t
artifacts:
logs:
paths:
- "upm-ci~/test-results/**/*"
packages:
paths:
- "upm-ci~/packages/**/*"
dependencies:
{% for project in projects -%}
{% for package in projects.first.packages -%}
- .yamato/project-test.yml#validate_{{ projects.first.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ test_editors.first }}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
- .yamato/project-test.yml#test_{{ projects.first.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}
{% endfor -%}

all_tests_trigger:
name: Repository Tests Trigger
dependencies:
# Pull in package and validate jobs through the badges job
- .yamato/project-test.yml#badges_test_trigger
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
{% for project in projects -%}
- .yamato/project-test.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }}
{% endfor -%}
{% endfor -%}
{% endfor -%}

# Run all relevant tasks when a pull request targeting the develop
# branch is created or updated. Currently only mlapi package tests are
# enabled, since the others are missing test coverage and will fail CI.
develop_pull_request_trigger:
name: Develop Branch Triggers
dependencies:
- .yamato/project-test.yml#validate_{{ projects.first.name }}_com.unity.multiplayer.mlapi_{{ test_platforms.first.name }}_{{ test_editors.first }}
{% for editor in test_editors -%}
{% for platform in test_platforms -%}
- .yamato/project-test.yml#test_{{ projects.first.name }}_com.unity.multiplayer.mlapi_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
triggers:
cancel_old_ci: true
pull_requests:
- targets:
only:
- "master"
- "develop"
- "/release\/.*/"
Loading