ci: add autofix.ci#45
Merged
Merged
Conversation
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.
What this does
Adds an
autofix.ciworkflow that runs on every PR (and on pushes tomain). It installs deps exactly like the repo's own CI (ci.yml), runs Biome's fixer (biome check --write .via the existinglintscript), and hands the result toautofix-ci/action, which pushes the formatting/lint fixes back onto the PR branch. Contributors never have to hand-fix formatting.The autofix.ci GitHub App is installed org-wide for
marimo-team(confirmed by an org admin), so this works as soon as it's merged — no per-repo setup needed.How it composes with the existing lint gate
This does not replace CI's lint check — it complements it. The existing
ci.ymllint job stays the hard gate that fails the build on unfixable problems. autofix.ci just removes the busywork: anything Biome can fix automatically gets pushed to the branch, so the lint gate only ever fails on things that genuinely need a human. The fixer runs with|| trueso unfixable lint errors don't block uploading the fixes that did apply (CI still reports them).Included fix:
renovate.jsonRunning the fixer locally surfaced one pre-existing formatting drift:
renovate.json(left un-formatted by the recent Renovate config migration) gets reformatted by Biome. That fix is included in this PR so the tree is clean and future autofix runs are no-ops. No behavior change — sameextendslist, reformatted to Biome's style.Verification
pnpm install, ran the exact fixer the workflow uses. Only diff was therenovate.jsonreformat noted above (now committed); re-running the fixer is a clean no-op.actionlint(0 issues).# v6) mirrorci.yml.nameis exactlyautofix.ci(required — the service identifies the workflow by name for security) and theautofix-ci/actionstep runs last.Part of the marimo-team engineering-excellence initiative.