Validate with local-check instead of scripts/validate.sh - #588
Merged
Merged
Conversation
The validation script, and gps-app's copy of it, are now one tested package, badbundle/local-check, which both repos depend on. The checks it runs here are in local-check.config.ts and are the same as before: lint, the Fastlane config check under rbenv's Ruby, then a build and full run of the iOSAllTests plan on a throwaway iPhone 18 Pro Max simulator with Xcode 27.0. - package.json pins local-check. Its prepare script installs the pre-push hook, so `bun install` is the only setup a clone needs. - `make validate` installs first, so the copy that runs always matches the pin, then runs `bun run validate`. - Results and logs move from .git/validate/ to .git/local-check/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
scripts/validate.sh, and gps-app's copy of it, are now one tested package, badbundle/local-check (v0.1.0), which both repos depend on.make validatestill posts the same Validate (local) check thatmainrequires, from the same checks.The checks are in
local-check.config.tsand are the same as before:make lint, keepingVault/.buildbetween runs so it's incremental;PATHas Fix the flaky race cancellation tests and run the Fastlane check under rbenv #587 added. It's skipped, and named on the check, if the Ruby in.ruby-versionisn't installed;iOSAllTestswith Xcode 27.0, on a throwaway iPhone 18 Pro Max simulator addressed by UDID.The config is loaded from the commit being validated, so a commit carries its own checks.
Setup is
bun install.package.jsonpinsgithub:badbundle/local-check#v0.1.0, and itspreparescript writes.githooks/pre-pushand pointscore.hooksPathat it. The hook is now a small shim that runs the installed local-check.make validaterunsbun install --frozen-lockfilefirst, so the copy that runs always matches the pin, thenbun run validate.Results and logs move from
.git/validate/to.git/local-check/. The worktree and DerivedData move to~/Library/Caches/local-check/.Docs:
README.md's Validation section and bothAGENTS.mdfiles now describe the Bun setup and point tolocal-check.config.ts.Removed:
scripts/validate.sh.Moving to a newer local-check is a deliberate change: bump the tag in
package.json, runbun install, and validate.Test plan
make validateon this PR's commit: Lint, Fastlane config, Build and Tests passed in 3m34s. The Fastlane check ran on Ruby 4.0.5, and the throwaway simulator was deleted afterwards.bun install --frozen-lockfilefrombun.lockinstalls local-check 0.1.0, identical to the tag.🤖 Generated with Claude Code