Strengthen PR test trust baseline#16
Draft
Jason-hub-star wants to merge 49 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pull_requesttrigger, three-OS matrix,fail-fast: false, and nocontinue-on-errorpaths,paths-ignore,branches-ignore,types, orpull_request_targetcannot silently shrink the "all PRs" gateConstants.GetPipeName()and Unity PluginPipeNameHelperkeep the same path normalization, Windows case policy, SHA-256 hash, prefix, and 16-hex suffix rulesunityctl_schemamust return the completeCommandCatalogcommand set, category-filtered calls must return only matching catalog commands, and command lookups must return the catalog definition for both canonical command names and CLI aliasesdotnet tool install,tools --json,schema,doctor,check, andworkflow verifyworkflow verifyCLI smoke so published and installed tools must report the requestedartifactsDirectoryand preserve thevalidate/projectValidatestep evidencelicense-preflight.txt/planned-smoke.txtbefore GameCI andactions/upload-artifactruns withif: always()after preflightdoctor --jsonstep to return a successfulCommandResponse, and guard against reintroducingdoctor.json || truelicense-preflight.txtandplanned-smoke.txtwhenUNITY_LICENSE/UNITY_SERIALsecrets are missingLocal verification
dotnet test tests/Unityctl.Shared.Tests -c Release /p:UseSharedCompilation=false --filter PublishedCliSmoke_CoversReadmeEntryPoints- 1 passeddotnet run --project src/Unityctl.Cli --no-build -c Release -- workflow verify ... --artifacts-dir <tmp>/artifacts --json- exit 1 as expected without live Unity, but preservedartifactsDirectoryand thevalidate/projectValidatestep evidencedotnet test tests/Unityctl.Shared.Tests -c Release /p:UseSharedCompilation=false- 107 passeddotnet test tests/Unityctl.Core.Tests -c Release /p:UseSharedCompilation=false- 152 passeddotnet test tests/Unityctl.Cli.Tests -c Release /p:UseSharedCompilation=false- 579 passeddotnet test tests/Unityctl.Mcp.Tests -c Release /p:UseSharedCompilation=false- 25 passedgit diff --checkRemote verification
CI - dotnetrun26807365824passed on Ubuntu, macOS, and Windows for headd515e19.d515e19.Unity Reality Check
CI - Unity Integrationrun26803038419was triggered on heada4dea73.UNITY_LICENSEnorUNITY_SERIALis configured;gh secret list --repo Jason-hub-star/unityctlcurrently shows onlyNUGET_API_KEY.unityctl-live-2021.3.11f1/license-preflight.txtunityctl-live-2021.3.11f1/planned-smoke.txtunityctl-live-6000.0.64f1/license-preflight.txtunityctl-live-6000.0.64f1/planned-smoke.txt26803038419confirmplanned-smoke.txtpreserves intended coverage: init, doctor, check, scene hierarchy, player-settings set/get readback, and workflow verify projectValidate.workflow_dispatchandscheduleonly, and requiresdoctor.jsonto be a successful response after the license gate is satisfied.UNITY_LICENSEorUNITY_SERIAL, rerun withgh workflow run ci-unity.yml --ref codex/test-trust-baseline, watch withgh run watch <run-id> --exit-status, and download artifacts withgh run download <run-id> --dir <artifact-dir>.