ci: adopt swift-format + warnings/doc-link gates#325
Merged
Conversation
Port the format and CI tooling from SwiftSync: - .swift-format (120 cols, 4-space) and a one-time pre-commit hook (.githooks/pre-commit, enabled via scripts/setup.sh) that formats staged Swift files. - CI jobs: swift-format check, a warnings gate (fails on any first-party warning:), and a dead-doc-link check (scripts/check-doc-links.py), alongside the existing go-httpbin build & test. - Reformat Sources/ and Tests/ to satisfy the format check. - Fix README link to the deleted CHANGELOG.md (-> GitHub releases) so the new doc-link gate is green.
7d96630 to
5aba83a
Compare
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.
Borrows the swift-format and CI tooling from SwiftSync and adapts it to this repo (single package, go-httpbin-backed tests).
What's added
.swift-format— shared config (120 cols, 4-space indentation)..githooks/pre-commit) that formats staged Swift files; enable once per clone with./scripts/setup.sh..github/workflows/ci.yml):swift-format check—swift format --in-place --recursive Sources Teststhengit diff --exit-code.Warnings gate— freshswift build --build-tests(no cache), fails on any first-partywarning:.Doc link check—scripts/check-doc-links.pyfails on dead relative markdown links.Sources/andTests/to satisfy the format check.Verified locally
swift format --in-place --recursive Sources Testsis idempotent (format check passes).swift build --build-testsclean, no first-party warnings.scripts/check-doc-links.py: OK across 10 markdown files.The perf-regression gate from SwiftSync was intentionally dropped — this repo has no benchmark suite.