Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"baseBranches": ["develop", "develop-2.0.0"],
"baseBranches": ["develop", "develop-2.0.0", "develop-3.x.x"],
"dependencyDashboard": true,

"$schema": "https://docs.renovatebot.com/renovate-schema.json",
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/autoupdate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
branches:
- develop
- develop-2.0.0
- develop-3.x.x
jobs:
autoupdate:
name: auto-update
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/conventional-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
branches:
- develop
- develop-2.0.0
- develop-3.x.x
# 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"
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/pr-description-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
branches:
- develop
- develop-2.0.0
- develop-3.x.x
- release/*

jobs:
Expand All @@ -29,14 +30,14 @@ jobs:
script: |
const pr = context.payload.pull_request;
const body = pr.body || '';

// List of users to skip description validation
// This should be automations where we don't care that much about the description format
const skipUsersPrefixes = [
'unity-renovate',
'svc-'
];

// If PR author is in the skip list, exit early
const author = pr.user.login;
console.log(`PR author: ${author}`);
Expand All @@ -49,7 +50,7 @@ jobs:
const requiredSections = [
{
header: '## Backports',
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.'
description: 'PR description must include a "## Backports" section. Please add this section and provide information about this PR backport to develop, develop-2.0.0 or develop-3.x.x branch respectively or explain why backport is not needed.'
},
{
header: '## Testing & QA',
Expand Down
25 changes: 13 additions & 12 deletions .github/workflows/pr-supervisor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# We are using https://cli.github.com/manual/gh_pr_checks
# The aim is to ensure that conditionally triggered Yamato jobs are completed successfully before allowing merges

# This job will be required in branch protection rules for develop, develop-2.0.0, and release/* branches. It's only goal will be to ensure that Yamato jobs are completed successfully before allowing Pr to merge.
# This job will be required in branch protection rules for develop, develop-2.0.0, develop-3.x.x, and release/* branches. It's only goal will be to ensure that Yamato jobs are completed successfully before allowing Pr to merge.
# Note that conditional jobs will have 30s to show which is always the cas since they are showing up as soon as in distribution stage.

name: Yamato PR Supervisor
Expand All @@ -13,8 +13,9 @@ on:
branches:
- develop
- develop-2.0.0
- develop-3.x.x
- release/*

concurrency:
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: true
Expand All @@ -26,32 +27,32 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Wait and Verify Yamato Job Status
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
set -e


MAX_ATTEMPTS=$((12*60))
INTERVAL=60

sleep $INTERVAL
for ((i=1;i<=MAX_ATTEMPTS;i++)); do
echo "Polling PR checks (attempt $i/$MAX_ATTEMPTS)..."

# We want to watch for pending checks beside this check
checks=$(gh pr checks $PR_NUMBER --json name,state --jq '[ .[] | select(.name != "yamato-supervisor") ]')

pending=$(echo "$checks" | jq '[.[] | select(.state == "PENDING")] | length')
skipping=$(echo "$checks" | jq '[.[] | select(.state == "SKIPPED")] | length')
passed=$(echo "$checks" | jq '[.[] | select(.state == "SUCCESS")] | length')
failed=$(echo "$checks" | jq '[.[] | select(.state == "FAILURE")] | length')

echo "Pending checks: $pending, Skipping checks: $skipping", Passed checks: $passed, Failed checks: $failed

if [[ "$failed" -gt 0 ]]; then
echo "A check has failed! Failing fast."
exit 1
Expand All @@ -61,6 +62,6 @@ jobs:
echo "All non-supervisor checks are completed!"
exit 0
fi

sleep $INTERVAL
done
done
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ utr.bat
Tools/CI/bin
Tools/CI/obj

# Do not include the packages-lock file
packages-lock.json
12 changes: 7 additions & 5 deletions .yamato/_triggers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# 1) Minimal PR checks that run on all PRs (even if only docs are changed)
# 2) More extensive pr_code_changes_checks that run if code is changed. This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered
# By default pr_minimal_required_checks it's triggered if
# 1) PR targets develop, develop-2.0.0 or release branches
# 1) PR targets develop, develop-2.0.0, develop-3.x.x or release branches
# 2) PR is not a draft
# Then pr_code_changes_checks it's triggered if the same conditions apply plus:
# 1) PR changes code in com.unity.netcode.gameobjects package (Editor, Runtime or Tests folders) or in testproject folder or package.json file
Expand Down Expand Up @@ -58,6 +58,7 @@ pr_minimal_required_checks:
(pull_request.comment eq "ngo" OR
(pull_request.target eq "develop" OR
pull_request.target eq "develop-2.0.0" OR
pull_request.target eq "develop-3.x.x" OR
pull_request.target match "release/*")) AND
NOT pull_request.draft
cancel_old_ci: true
Expand All @@ -75,13 +76,13 @@ pr_code_changes_checks:
# Run API validation to early-detect all new APIs that would force us to release new minor version of the package. Note that for this to work the package version in package.json must correspond to "actual package state" which means that it should be higher than last released version
- .yamato/vetting-test.yml#vetting_test

# Run package EditMode and Playmode package tests on trunk and an older supported editor (6000.0)
# Run package EditMode and Playmode package tests on trunk and an older supported editor (6000.3)
- .yamato/package-tests.yml#package_test_-_ngo_{{ pinnedTrunk }}_mac
- .yamato/package-tests.yml#package_test_-_ngo_6000.0_win
- .yamato/package-tests.yml#package_test_-_ngo_6000.3_win

# Run testproject EditMode and Playmode project tests on trunk and an older supported editor (6000.0)
# Run testproject EditMode and Playmode project tests on trunk and an older supported editor (6000.3)
- .yamato/project-tests.yml#test_testproject_win_{{ pinnedTrunk }}
- .yamato/project-tests.yml#test_testproject_mac_6000.0
- .yamato/project-tests.yml#test_testproject_mac_6000.3

# Run standalone test. We run it only on Ubuntu since it's the fastest machine, and it was noted that for example distribution on macOS is taking 40m since we switched to Apple Silicon
# Coverage on other standalone machines is present in Nightly job so it's enough to not run all of them for PRs
Expand All @@ -94,6 +95,7 @@ pr_code_changes_checks:
(pull_request.comment eq "ngo" OR
(pull_request.target eq "develop" OR
pull_request.target eq "develop-2.0.0" OR
pull_request.target eq "develop-3.x.x" OR
pull_request.target match "release/*")) AND
NOT pull_request.draft AND
pull_request.changes.any match [
Expand Down
3 changes: 1 addition & 2 deletions .yamato/project.metafile
Original file line number Diff line number Diff line change
Expand Up @@ -176,14 +176,13 @@ validation_editors:
default:
- 6000.3
all:
- 6000.0
- 6000.3
- 6000.4
- 6000.5
- trunk
- a4ce83e807ca9aff8394d1cc07341168dc49df03
minimal:
- 6000.0
- 6000.3
pinnedTrunk: a4ce83e807ca9aff8394d1cc07341168dc49df03


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"com.unity.ide.rider": "3.0.38",
"com.unity.ide.visualstudio": "2.0.25",
"com.unity.multiplayer.center": "1.0.0",
"com.unity.netcode.gameobjects": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=com.unity.netcode.gameobjects#develop-2.0.0",
"com.unity.netcode.gameobjects": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=com.unity.netcode.gameobjects#develop-3.x.x",
"com.unity.purchasing": "4.12.2",
"com.unity.services.multiplayer": "1.2.0",
"com.unity.test-framework": "1.6.0",
Expand Down
Loading