forge attest runs .forge/ci in a clean worktree on this machine and signs the result. brew style runs Homebrew's RuboCop and audit cops on the formulae. The casks are generated by GoReleaser, so they only get a syntax check, and tap_migrations.json must parse.
- commit
- ee8aada860f578af050ab262dc818468969e593a
- parent
- 50cf317b5f2fa891f5b17b235d543c4a3c93a170
- author
- cat <admin@dev.site>
- ci
- ✓ passed in 4s, signed by cat
ci attestation
forge-attestation 1 type ci commit ee8aada860f578af050ab262dc818468969e593a tree 5bbee7eea0532eca5181e43e23d83bd4b3372908 script .forge/ci b58a6246046e348a3bd98e876c70156c8bded647 result pass exit 0 started 2026-10-17T23:00:13Z duration 4s runner (not shown here; refs/notes/ci has it) system Darwin 25.5.0 arm64 env host log sha256:ae7f52e17c04178ec9d9d1190b54831c24db01d081d060e0d570f428d3e0d2a7 8 lines |Inspecting 1 file |. | |1 file inspected, no offenses detected |Inspecting 1 file |. | |1 file inspected, no offenses detected
Signature: good, cat
| A | .forge/ | 13 | +++++++++++++ |
@@ -0,0 +1,13 @@
1+2+# CI for src.rest: brew style (Homebrew's RuboCop and audit cops) on the formulae,3+# a syntax check on the GoReleaser-generated casks, and a parse of tap_migrations.json.4+set -eu5+export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_ENV_HINTS=1 HOMEBREW_NO_ANALYTICS=16+# Homebrew's RuboCop config scopes its formula rules with **/Formula/**, which7+# misses paths under a dot directory like ~/.cache, so lint a copy in /tmp.8+tmp=$(mktemp -d /tmp/forge-tap-style.XXXXXX)9+trap 'rm -rf "$tmp"' EXIT10+cp -R Formula Casks "$tmp/"11+brew style "$tmp/Formula"12+brew style --only-cops=Lint/Syntax "$tmp/Casks"13+brew ruby -e 'require "json"; JSON.parse(File.read("tap_migrations.json"))'