ci(lint): adopt the org reusable lint workflow - #93
Open
Bryan Fawcett (bryanfawcett) wants to merge 3 commits into
Open
Bryan Fawcett (bryanfawcett) wants to merge 3 commits into
Bryan Fawcett (bryanfawcett) wants to merge 3 commits into
Conversation
The mukoko-dev org ruleset requires five status checks on the default
branch of every repo:
lint / actionlint lint / markdownlint
lint / JSON validity lint / yamllint
lint / prettier
This repo had no lint workflow at all, so none of them ever reported —
and a required context that never reports is permanently pending, which
is why all six open dependabot PRs are blocked.
The job is named `lint` and calls nyuchi/.github's reusable-lint.yml,
whose jobs are named actionlint, JSON validity, prettier, markdownlint
and yamllint. A reusable-workflow call publishes checks as
"<caller job>/<called job>", so that produces exactly the five required
strings. nyuchi/.github is public, so the cross-org call is permitted;
mzizi-dev/agent-tools (private, different org) already does the same.
Adds the org lint baseline — .editorconfig, .markdownlint.jsonc,
.yamllint.yaml — which the tools auto-discover. This repo's existing
.prettierrc and .prettierignore are kept as they are.
Content fixes needed to go green:
- 3 bare URLs in web/MIGRATED.md and web/studio/MIGRATED.md wrapped in
angle brackets (renders identically).
- ARCHITECTURE.md's title block and two closing mottos are emphasis on
purpose, not headings — promoting them would put taglines in the
document outline, so MD036 is scope-disabled around them with a
comment saying why.
- The two "creating a ..." guides put a fenced code block at column 0
after each step, which splits the ordered list and makes markdownlint
restart the count. Rendered numbering is correct, so MD029 is
scope-disabled per file with an explanation.
- Four wrangler.jsonc files reflowed by prettier. Verified semantically
identical by parsing before and after: array bodies moved onto one
line, and one dangling trailing comma removed. No binding, id, bucket
or flag value changed.
One config addition: .prettierrc gains a `*.jsonc` override setting
trailingComma to "none". Without it the repo's "trailingComma": "all"
made prettier ADD trailing commas to wrangler deploy configs. JSONC
tolerates them, but quietly rewriting deployment config to satisfy a
formatter is not a trade worth making — this keeps the files under the
check without changing their shape.
Verified locally, all five: actionlint rc=0, JSON validity rc=0,
yamllint -s rc=0, prettier rc=0, markdownlint 0 errors over 22 files.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This reverts commit 7e194dc.
This branch has not been deployed
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.
Why
The
mukoko-devorg ruleset requires five status checks on the default branchof every repo:
This repo has no lint workflow at all, so none of them ever reported. A
required context that never reports is permanently pending — which is why all
six open dependabot PRs sit
BLOCKED.The fix
One job named
lintcallingnyuchi/.github'sreusable-lint.yml. Areusable-workflow call publishes its checks as
<caller job> / <called job>,and that reusable's jobs are named
actionlint,JSON validity,prettier,markdownlint,yamllint— producing exactly the five required strings.nyuchi/.githubis public, so a reusable workflow in it can be called from anyrepo in any org. Verified in production, not assumed:
mzizi-dev/agent-toolsisa private repo in a different org and calls the same workflow successfully.
Nothing is duplicated into this org — see mukoko-dev/.github#1.
Content fixes needed to go green
<…>(renders identically)web/MIGRATED.md,web/studio/MIGRATED.mdMD036scope-disabled around the title block and two closing mottosARCHITECTURE.mdMD029scope-disabled per filedocs/guides/creating-{mini-app,service}.mdservices/*/wrangler.jsoncOn the two scoped disables — both are cases where the rule is wrong about this
content, and each carries a comment saying so:
ARCHITECTURE.md's**Version 2.0 | February 2026**,_A Product of The Bundu Family_and_Ndiri nekuti tiri_are a title block. Promoting themto real headings would put taglines in the document's outline.
splits the ordered list so markdownlint restarts the count at every step. The
rendered numbering is correct.
The wrangler configs — checked, not assumed
Prettier reflowed 4
wrangler.jsoncfiles. I verified before/after aresemantically identical by parsing both (comment- and trailing-comma
tolerant) and comparing the objects — all 4
SAME. The changes are array bodiescollapsing onto one line, plus one dangling trailing comma removed from
_template. No binding, id, bucket name or compatibility flag changed..prettierrcgains a*.jsoncoverride settingtrailingCommato"none".Without it, this repo's
"trailingComma": "all"made prettier add trailingcommas to wrangler deploy configs. JSONC tolerates them, but quietly rewriting
deployment config to satisfy a formatter is not a trade worth making. The
override keeps those files under the check without changing their shape.
Verification
All five run locally against this branch and pass: actionlint
rc=0, JSONvalidity
rc=0,yamllint -src=0, prettierrc=0, markdownlint-cli20 error(s)over 22 files. Proof they can still fail is in the PRconversation.
Unrelated, but it should not go unsaid
Pushing this branch, GitHub reported 282 Dependabot vulnerabilities on
main(5 critical, 100 high, 151 moderate, 26 low). Far outside this PR's scope, and
raised separately in my report — but that number deserves attention.