Tuist Local Verification
Overview
Deterministic workflow for separating product-test failures from Tuist/Xcode tooling failures in local runs.
Related Skills
review-verification-before-completionfor evidence-first reporting.
When to Use
tuist test/just test-iosfails before tests execute.- Logs show upload/auth failures (Tuist cloud/insights) during local verification.
xcodebuildexits65after run banner with unclear root cause.build.db: database is lockedappears due concurrent Xcode/Tuist jobs.
Workflow
- Classify failure source first.
- Capture command output + real exit code.
- Split into:
tooling/infravsassertion/test. - Do not claim test failure until
.xcresultor test summary confirms it.
- Handle lock contention deterministically.
- If
build.dblock appears, wait and rerun the same command. - Never bypass via custom DerivedData sharding unless explicitly requested.
- Confirm no competing
tuist/xcodebuildprocess remains before rerun.
- Handle Tuist auth/upload blockers.
- Verify whether failure is from run-metadata upload or test-insights auth.
- Check repo-level Tuist config (for example
GenerationOptions) before assuming env var support. - Prefer minimal local-verification-safe config change over ad-hoc command drift.
- Verify true test status.
- Inspect
.xcresult/log for first failing test when exit is65. - If no failing tests and tooling failed, report as tooling blocker, not product regression.
- Report with evidence.
- Provide exact command, exit code, decisive error lines, and classification.
- State whether product tests actually failed or were blocked.
Guardrails
- No fallback to raw manual claims from streamed output.
- No contradictory reporting (
error 65+EXIT:0). - Preserve repo test entrypoints (
just/tuist) unless they are the proven blocker.
微信扫一扫