Skip to content

ci: a style lint was the precondition for the only job that proves anything - #6

Merged
yeapea merged 1 commit into
developfrom
ci/a-style-lint-that-held-the-build-back
Sep 9, 2026
Merged

yeapea merged 1 commit into
developfrom
ci/a-style-lint-that-held-the-build-back

Conversation

@yeapea

@yeapea yeapea commented Sep 9, 2026

Copy link
Copy Markdown
Owner

build-test carried needs: [lint]. When SwiftLint went red on 2026-08-31 that job did not fail — it was skipped, and a skipped job reads exactly like a passing one from the run list. Measured on run 34034521667: SwiftLint failure, swift-format failure, Build and Test skipped. Nothing has compiled or been tested in CI here since.

Blank lines cannot break a build, so the three jobs now run independently and each reports its own verdict.

SwiftLint becomes advisory, for the same reason swift-format already is — and the file says so in its own comment: "Advisory until rules are calibrated against the existing codebase." The rules are ours; .swiftlint.yml came from upstream and was tightened here on 2026-04-05, and the runs were green that April. What moved is the TOOL rather than the tree: the step installs whatever brew has, and 0.65.1 reports 26 violations across 21 files — which is every Swift file in the repository. Nine of the first ten are vertical_whitespace_opening_braces / ..._closing_braces on code inherited from Jaysce/Spaceman that these rules were never calibrated against.

That calibration is real work and it is not this change. What this change refuses is letting it hold the build.

The version is printed now. brew install is unpinned, so the tool that judges this tree changes without anybody changing the tree — which is how a green April became a red August with no commit in between. A version in the log is what lets the next reader tell "the code got worse" from "the ruler moved".

Neither branch is protected, so renaming the job breaks no required check — checked before renaming.

A .gitattributes lands with it because the export guard refused the commit without one: CLAUDE.md is process-only and would have shipped in any archive of this tree.

…ything

`build-test` carried `needs: [lint]`. When SwiftLint went red on 2026-08-31 that
job did not fail - it was SKIPPED, and a skipped job reads exactly like a passing
one from the run list. Measured on run 34034521667: SwiftLint failure,
swift-format failure, Build and Test skipped. Nothing has compiled or been tested
in CI here since.

Blank lines cannot break a build, so the three jobs now run independently and each
reports its own verdict.

SwiftLint becomes advisory, for the same reason swift-format already is. The rules
are ours - .swiftlint.yml came from upstream and was tightened here on 2026-04-05 -
and they were green in April. What moved is the TOOL: the step installs whatever
brew has, and 0.65.1 reports 26 violations across 21 files, which is every Swift
file in the repository. Nine of the first ten are vertical whitespace rules on code
inherited from Jaysce/Spaceman that these rules were never calibrated against.

That calibration is real work and it is not this change. What this change refuses
is letting it hold the build.

The version is printed now. brew install is unpinned, so the tool that judges this
tree changes without anybody changing the tree - which is how a green April became
a red August with no commit in between. A version in the log is what lets the next
reader tell "the code got worse" from "the ruler moved".

Neither branch is protected, so renaming the job breaks no required check.

A .gitattributes lands with it because the export guard refused the commit without
one: CLAUDE.md is process-only and would have shipped in any archive of this tree.
@yeapea
yeapea merged commit 5cb9d51 into develop Sep 9, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant