Skip to content

Commit 89d03dc

Browse files
Merge branch 'develop-2.0.0' into fix/v2.x/disconnect-event-notifications-2390
2 parents 9d81870 + 12f3c79 commit 89d03dc

24 files changed

+1117
-244
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Create a report to help us improve
44
title: ''
5-
labels: stat:awaiting triage, type:bug
5+
labels: stat:awaiting-triage, stat:reply-needed, type:bug
66
assignees: ''
77

88
---
@@ -40,4 +40,4 @@ If applicable, add screenshots to help explain your problem.
4040

4141
### Additional Context
4242

43-
Add any other context about the problem here. Logs, code snippets would be useful here but please also consider attaching a minimal Unity project that reproduces the issue.
43+
Add any other context about the problem here. Logs, code snippets would be useful here but please also consider attaching a minimal Unity project that reproduces the issue.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature Request
33
about: Suggest an idea for this project
44
title: ''
5-
labels: stat:awaiting triage, type:feature
5+
labels: stat:awaiting-triage, stat:reply-needed, type:feature
66
assignees: ''
77

88
---

.github/ISSUE_TEMPLATE/rfc-tracking-issue.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ Replace this block with what this PR does and why. Describe what you'd like revi
44
)
55

66
### Jira ticket
7-
_Link to related jira ticket ([Use the smart commits](https://support.atlassian.com/bitbucket-cloud/docs/use-smart-commits/))_
7+
_Link to related jira ticket ([Use the smart commits](https://support.atlassian.com/bitbucket-cloud/docs/use-smart-commits/)). Short version (e.g. MTT-123) also works and gets auto-linked_
88

99
### Changelog
1010
[//]: # (updated with all public facing changes - API changes, UI/UX changes, behaviour changes, bug fixes. Remove if not relevant.)
1111

1212
- Added: The package whose Changelog should be added to should be in the header. Delete the changelog section entirely if it's not needed.
1313
- Fixed: If you update multiple packages, create a new section with a new header for the other package.
14-
- Removed/Deprecated/Changed: Each bullet should be prefixed with Added, Fixed, Removed, Deprecated, or Changed to indicate where the entry should go
14+
- Removed/Deprecated/Changed: Each bullet should be prefixed with Added, Fixed, Removed, Deprecated, or Changed to indicate where the entry should go.
1515

1616
<!-- Uncomment and mark items off with a * if this PR deprecates any API:
1717
### Deprecated API
@@ -31,12 +31,14 @@ We should always evaluate if the changes in this PR require any documentation ch
3131
- Includes documentation for previously-undocumented public API entry points.
3232
- Includes edits to existing public API documentation.
3333

34-
## Testing & QA
34+
## Testing & QA (How your changes can be verified during release Playtest)
3535
[//]: # (
3636
This section is REQUIRED and should describe how the changes were tested and how should they be tested when Playtesting for the release.
3737
It can range from "edge case covered by unit tests" to "manual testing required and new sample was added".
3838
Expectation is that PR creator does some manual testing and provides a summary of it here.)
3939

40+
<!-- Add any performance testing results here if relevant. -->
41+
4042
### Functional Testing
4143
[//]: # (If checked, List manual tests that have been performed.)
4244
_Manual testing :_
@@ -50,12 +52,13 @@ _Does the change require QA team to:_
5052

5153
- [ ] `Review automated tests`?
5254
- [ ] `Execute manual tests`?
55+
- [ ] `Provide feedback about the PR`?
5356

54-
If any boxes above are checked, please add QA as a PR reviewer.
57+
If any boxes above are checked the QA team will be automatically added as a PR reviewer.
5558

56-
## Backport
59+
## Backports
5760
[//]: # (
5861
This section is REQUIRED and should link to the PR that targets other NGO version which is either develop or develop-2.0.0 branch
5962
Add the following to the PR title: "\[Backport\] ..."
6063
If this is not needed, for example feature specific to NGOv2.X, then just mention this fact.
61-
)
64+
)

.github/workflows/mark-stale-issue.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
issues: write
1919

2020
steps:
21-
- uses: actions/stale@v9
21+
- uses: actions/stale@v10
2222
with:
2323
# Only mark issues (not PRs) as stale
2424
any-of-labels: 'stat:awaiting-response'

.github/workflows/pr-verification.yml renamed to .github/workflows/pr-description-validation.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# This workflow is designed to verify that the pull request description contains a required sections that are important from quality perspective.
1+
# This workflow is designed to verify that the pull request description contains a required sections that are important from quality perspective.
22
# ## Backport section is important as a reminder to account for backports for anyone that works with NGO repository (to 1.X or 2.X branches respectively).
33
# ## Testing & QA section is important to ensure that the PR has appropriate testing coverage and is important when QA will evaluate PRs before Playtesting for the release.
44
# ## Documentation section is important to ensure that the documentation is updated with the changes made in the PR.
55

66
# If any of the sections is missing, the workflow will fail and block the PR from merging, prompting the developer to add those sections to the PR description.
77
# The workflow is configured to run when PR is created as well as when it is edited which also counts simple description edits.
88

9-
name: "NGO - PR Verification"
9+
name: "NGO - PR description validation"
1010

1111
on:
1212
pull_request:
@@ -17,14 +17,14 @@ on:
1717
- release/*
1818

1919
jobs:
20-
pr-verification:
20+
pr-description-validation:
2121
runs-on: ubuntu-latest
2222
steps:
2323
- name: Checkout code
2424
uses: actions/checkout@v5
2525

2626
- name: Check PR description
27-
uses: actions/github-script@v7
27+
uses: actions/github-script@v8
2828
with:
2929
script: |
3030
const pr = context.payload.pull_request;
@@ -33,8 +33,8 @@ jobs:
3333
// List of mandatory PR sections
3434
const requiredSections = [
3535
{
36-
header: '## Backport',
37-
description: 'PR description must include a "## Backport" section. Please add this section and provide information about this PR backport to develop or develop-2.0.0 branch respectively or explain why backport is not needed.'
36+
header: '## Backports',
37+
description: 'PR description must include a "## Backports" section. Please add this section and provide information about this PR backport to develop or develop-2.0.0 branch respectively or explain why backport is not needed.'
3838
},
3939
{
4040
header: '## Testing & QA',
@@ -43,6 +43,10 @@ jobs:
4343
{
4444
header: '## Documentation',
4545
description: 'PR description must include a "## Documentation" section. Please add this section and provide information about the documentation changes made in this PR. It is important to keep the documentation up to date with the code changes.'
46+
},
47+
{
48+
header: '## Jira ticket',
49+
description: 'PR description must include a "## Jira ticket" section. Please add this section and provide a link to the Jira ticket that corresponds to this PR. General rule should be that if the PR takes you more then a day of work it should have Jira ticket. Otherwise you can always write "N/A" in this section.'
4650
}
4751
];
4852
@@ -59,4 +63,4 @@ jobs:
5963
message += '\n\nPlease add them to your PR description.';
6064
6165
core.setFailed(message);
62-
}
66+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# This workflow depend on the content of .github/pull_request_template.md file, which should contain the required sections that the script checks for
2+
# This also works in parallel with .github/workflows/pr-description-validation.yml which validates PR format
3+
# In contrast to .github/workflows/pr-description-validation.yml, this workflow is conditional and aims to ease the process of requesting QA review by automatically assigning the QA team whenever a checkbox is marked
4+
5+
# In case that the given checkboxes are marked the script will automatically add netcode-qa team as a reviewer.
6+
7+
name: 'Assign QA Reviewer'
8+
9+
on:
10+
pull_request:
11+
types: [opened, edited, synchronize, reopened]
12+
13+
jobs:
14+
assign-qa:
15+
# This job only runs if the checkbox in the PR description exist and is checked.
16+
if: >
17+
contains(github.event.pull_request.body, '- [x] `Review automated tests`') ||
18+
contains(github.event.pull_request.body, '- [x] `Execute manual tests`') ||
19+
contains(github.event.pull_request.body, '- [x] `Provide feedback about the PR`')
20+
runs-on: ubuntu-latest
21+
22+
23+
steps:
24+
25+
- name: 'Assign QA Team'
26+
uses: actions/github-script@v8
27+
with:
28+
github-token: ${{ secrets.GH_TOKEN }}
29+
script: |
30+
github.rest.pulls.requestReviewers({
31+
owner: context.repo.owner,
32+
repo: context.repo.repo,
33+
pull_number: context.issue.number,
34+
team_reviewers: ['netcode-qa']
35+
});
36+
console.log('Assigned netcode-qa for review.');

.yamato/_triggers.yml

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,47 @@
22
---
33

44
# DESCRIPTION--------------------------------------------------------------------------
5-
# This configuration defines three main CI trigger patterns:
6-
# 1. Pull Request Validation: Validation performed on PR basis
7-
# 2. Nightly Development: Test set run nightly (validates most important test cases)
8-
# 3. Weekly Full Validation: Test set run weekly (validates all test cases to prevent any surprises)
9-
# Each pattern represents different balance between validation depth, execution time and CI resource usage
5+
# This configuration defines three main CI trigger patterns:
6+
# 1. Pull Request Validation: Validation performed on PR basis
7+
# 2. Nightly Development: Test set run nightly (validates most important test cases)
8+
# 3. Weekly Full Validation: Test set run weekly (validates all test cases to prevent any surprises)
9+
# Each pattern represents different balance between validation depth, execution time and CI resource usage
1010

1111
# TRIGGER PATTERNS-------------------------------------------------------------------
12+
1213
# Pull Request:
13-
# This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered
14-
# Triggers on PRs to develop, develop, and release branches
15-
# Focuses on critical validation paths that we should validate before merging PRs
16-
# Cancels previous runs on new commits
17-
# Excludes draft PRs
14+
# This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered
15+
# Focuses on critical validation paths that we should validate before merging PRs. It also cancels previous runs on new commits
16+
# By default it's triggered if
17+
# 1) PR targets develop, develop-2.0.0 or release branches
18+
# 2) PR is not a draft
19+
# 3) PR changes files in package or testproject folders (doesn't run on for example DOCS only changes)
20+
21+
# Note that in other cases you can trigger it by writing a comment "/ci ngo" in the PR thread
1822

1923
# Nightly:
20-
# This test validates same subset as pull_request_trigger with addition of mobile/console tests and webgl builds
21-
# Runs daily on develop (local configuration)
22-
# Includes all test types but only on trunk.
23-
# Adds platform-specific and APV validation
24+
# This test validates same subset as pull_request_trigger with addition of mobile/console tests and webgl builds
25+
# Runs daily on develop (local configuration)
26+
# Includes all test types but only on trunk.
27+
# Adds platform-specific and APV validation
2428

2529
# Weekly:
26-
# This test validates same subset as develop_nightly but runs per all supported editors as well as executes code coverage test and runs project standards per project
27-
# Runs across all supported editor versions
28-
# Includes code coverage analysis
29-
# Validates all projects and standards
30+
# This test validates same subset as develop_nightly but runs per all supported editors as well as executes code coverage test and runs project standards per project
31+
# Runs across all supported editor versions
32+
# Includes code coverage analysis
33+
# Validates all projects and standards
3034

3135
# CONFIGURATION STRUCTURE--------------------------------------------------------------
32-
# Jobs configurations are generated by ensuring that all dependencies are successful.
33-
# The dependencies are taken from _run-all.yml file where we can gather multiple tests into proper sets
36+
# Jobs configurations are generated by ensuring that all dependencies are successful.
37+
# The dependencies are taken from _run-all.yml file where we can gather multiple tests into proper sets
3438

3539
# QUALITY CONSIDERATIONS---------------------------------------------------------------
36-
# It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job.
40+
# It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job.
3741

3842

3943
#-----------------------------------------------------------------------------------
4044

45+
4146
# Run all relevant tasks when a pull request targeting the develop or release branch is created or updated.
4247
# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions.
4348
# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) since it's the dependency of project pack jobs which is on the lowest dependency tier. This runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests.
@@ -60,15 +65,18 @@ pull_request_trigger:
6065
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_il2cpp_6000.0
6166
- .yamato/cmb-service-standalone-tests.yml#cmb_service_standalone_test_testproject_ubuntu_il2cpp_trunk
6267
triggers:
68+
# Note that PR tests will run ONLY if we are changing package/sample code. If changes are let's say docs only no tests will be triggered
69+
# TODO: consider setting up and running tests from Examples/
70+
# TODO: or docs only changes are spelling/link check
71+
expression: |-
72+
pull_request.comment eq "ngo" OR
73+
((pull_request.target eq "develop" OR
74+
pull_request.target eq "develop-2.0.0" OR
75+
pull_request.target match "release/*") AND
76+
NOT pull_request.draft AND
77+
(pull_request.changes.any match "com.unity.netcode.gameobjects/**" OR
78+
pull_request.changes.any match "testproject/**"))
6379
cancel_old_ci: true
64-
pull_requests:
65-
- targets:
66-
only:
67-
- "develop"
68-
- "develop-2.0.0"
69-
- "/release\/.*/"
70-
- drafts: false
71-
7280

7381
# Run all tests on trunk on nightly basis.
7482
# Same subset as pull_request_trigger with addition of mobile/desktop/console tests and webgl builds

.yamato/disable-burst-if-requested.py

Lines changed: 0 additions & 97 deletions
This file was deleted.

.yamato/wrench/api-validation-jobs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ api_validation_-_netcode_gameobjects_-_6000_0_-_windows:
5151
dependencies:
5252
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects
5353
variables:
54-
UPMPVP_CONTEXT_WRENCH: 1.1.0.0
54+
UPMPVP_CONTEXT_WRENCH: 1.1.2.0
5555
metadata:
5656
Job Maintainers: '#rm-packageworks'
57-
Wrench: 1.1.0.0
57+
Wrench: 1.1.2.0
5858

0 commit comments

Comments
 (0)