From 2182d910065e16eb833bcca1a9ea48bd71a35388 Mon Sep 17 00:00:00 2001 From: zatzuri-unity Date: Mon, 21 Jul 2025 13:57:02 -0700 Subject: [PATCH] update wrench jobs --- .yamato/triggers.yml | 61 +++++++++++++------ Tools/Cinemachine-Recipes/Recipes/Triggers.cs | 25 +++++--- 2 files changed, 59 insertions(+), 27 deletions(-) diff --git a/.yamato/triggers.yml b/.yamato/triggers.yml index 243f62469..67c80ef7b 100644 --- a/.yamato/triggers.yml +++ b/.yamato/triggers.yml @@ -1,6 +1,6 @@ # Auto-generated by Recipe Engine, do not modify manually. -# All tests defined in recipes. +# All tests defined in recipes. Run in changes to mainline and release branches. all_trigger: name: All Trigger dependencies: @@ -111,7 +111,10 @@ all_trigger: - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_ubuntu - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_windows triggers: - expression: NOT pull_request.draft + branches: + only: + - main + - release[/]\\d+[.]\\d+) # Nightly check on main nightly_trigger: @@ -223,26 +226,48 @@ nightly_trigger: - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_ubuntu - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_windows -# Tests to run on PRs and mainline branches. -package_ci: - name: Package CI +# Tests to run on PRs. +pull_request_tests_trigger: + name: Pull Request Tests Trigger dependencies: - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + - path: .yamato/code-coverage.yml#code_coverage_-_ubuntu_-_trunk + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_1_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_2_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_3_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_ubuntu - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_1_-_macos - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_1_-_ubuntu - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_1_-_windows - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_2_-_macos - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_2_-_ubuntu - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_2_-_windows - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_macos - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_ubuntu - - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_3_-_windows triggers: - branches: - only: - - main - - release[/]\\d+[.]\\d+) + expression: NOT pull_request.draft + cancel_old_ci: true + cancel_leftover_jobs: Always diff --git a/Tools/Cinemachine-Recipes/Recipes/Triggers.cs b/Tools/Cinemachine-Recipes/Recipes/Triggers.cs index f48ce2a3f..34ea92bc1 100644 --- a/Tools/Cinemachine-Recipes/Recipes/Triggers.cs +++ b/Tools/Cinemachine-Recipes/Recipes/Triggers.cs @@ -4,6 +4,7 @@ using RecipeEngine.Api.Recipes; using RecipeEngine.Modules.Wrench.Models; using Unity.Yamato.JobDefinition; +using CancelLeftoverJobs = RecipeEngine.Api.Triggers.CancelLeftoverJobs; using Dependency = RecipeEngine.Api.Dependencies.Dependency; namespace Cinemachine.Cookbook.Recipes; @@ -12,6 +13,7 @@ public class Triggers : RecipeBase { private readonly CinemachineSettings config = new (); private const string packageName = "com.unity.cinemachine"; + private const string branchName = "main"; protected override ISet LoadJobs() => Combine.Collections(GetTriggers()).SelectJobs(); @@ -22,28 +24,33 @@ private ISet GetTriggers() var validationTests = config.Wrench.WrenchJobs[packageName][JobTypes.Validation]; var projectTests = new ProjectTest().AsDependencies(); var codeCoverage = new CodeCoverage().AsDependencies(); + builders.Add(JobBuilder.Create($"Nightly Trigger") .WithDependencies(projectTests) .WithDependencies(validationTests) .WithDescription("Nightly check on main") - ); + builders.Add(JobBuilder.Create($"All Trigger") .WithDependencies(projectTests) .WithDependencies(validationTests) .WithDependencies(codeCoverage) - .WithPullRequestTrigger(pr => pr.ExcludeDraft()) - .WithDescription("All tests defined in recipes.") + .WithBranchesTrigger(b => b.Only(branchName, "release[/]\\\\d+[.]\\\\d+)")) + .WithDescription("All tests defined in recipes. Run in changes to mainline and release branches.") ); - var prsubset = config.Wrench.WrenchJobs[packageName][JobTypes.Validation].Where(job => job.JobId.Contains("windows") || job.JobId.Contains("6000")); + var prProjectTests = projectTests.Where(job => job.JobId.Contains("Ubuntu")); + var prValidationTests = config.Wrench.WrenchJobs[packageName][JobTypes.Validation].Where(job => job.JobId.Contains("ubuntu")); - builders.Add(JobBuilder.Create("Package CI") - .WithDependencies(prsubset) - .WithPullRequestTrigger(pr => pr.ExcludeDraft()) - .WithBranchesTrigger(b => b.Only("main", "release[/]\\\\d+[.]\\\\d+)")) - .WithDescription("Tests to run on PRs and mainline branches.") + builders.Add(JobBuilder.Create("Pull Request Tests Trigger") + .WithDependencies(prProjectTests) + .WithDependencies(prValidationTests) + .WithDependencies(codeCoverage) + .WithPullRequestTrigger(pr => pr.ExcludeDraft(), + true, CancelLeftoverJobs.Always) + .WithDescription("Tests to run on PRs.") ); + return builders; } } \ No newline at end of file