mirror of
https://github.com/Homebrew/BrewUI.git
synced 2026-10-02 08:34:36 +08:00
Runs Periphery after the existing Xcode build in pr_build_test, reusing that build's index store (--index-store-path + --skip-build) so it adds no second build. Scans the Xcode project (.periphery.yml) so the Homebrew app counts as a consumer of the SwiftPM modules — reporting unused code across the whole program, including dead public API, which a package-only scan cannot. Gating is baseline-driven (--strict --baseline): a PR fails only on dead code not already in .periphery-baseline.json, so the existing tail is grandfathered and only newly introduced dead code blocks a merge. Implicit-usage classes are retained in config (SwiftUI previews, Codable properties, assign-only/Hashable key structs) to keep false positives near zero. The baseline can't be generated in the agent sandbox (needs a working xcodebuild app build), so the CI step self-seeds: when .periphery-baseline.json is absent it writes one and uploads it as the 'periphery-baseline' artifact without gating. Commit that artifact to activate the gate. Periphery pinned in Mintfile (3.7.4); usage documented in AGENTS.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 lines
84 B
Plaintext
4 lines
84 B
Plaintext
nicklockwood/SwiftFormat@0.61.0
|
|
realm/SwiftLint@0.63.2
|
|
peripheryapp/periphery@3.7.4
|