Repository navigation
ci: sync the family files to v0.0.51 and use its tidy filter - #262
Merged
Merged
Conversation
siracozmen01
commented
Nov 4, 2026
siracozmen01
left a comment
Contributor
Author
There was a problem hiding this comment.
Review at 56ee171. No changes needed. Read, not run. CI is green at this head.
- The two assignments. Neither is
local x=$(...), and neither is inside anifcondition, so a failure of the script stops the run.- In ci.yml's clang-tidy step,
filter=$(tools/tidy_filter.sh "out/tidy-$build")is a plain statement inside thefor buildloop, after the configure. The job's default shell is bash (ci.yml:32), which GitHub runs with -e, and errexit stays active in aforbody. - In tools/check.sh,
tidy()declareslocal build filteron its own line, then assignsfilter=$(tools/tidy_filter.sh "$out/check-tidy-$build")as a plain statement, underset -euo pipefail(check.sh:32).tidyis called in the body of anif, not its condition, so errexit is not suspended.header_filteris gone.
- In ci.yml's clang-tidy step,
- The header-only rule is kept. The
changedtier still setsheaders=1for a changedsrc/*.h(not belowsrc/) orinclude/*.h, and then tidiessrc/*.cwhole, as before. This PR does not touch that loop. - Family files.
tools/tidy_filter.shis d61928e anddocs/internals/maul-conventions.mdis 80f34b2, the canonical blobs at 972ea41. AGENTS.md liststidy_filter.shafterrun_quarantine.sh, and no other word of the line changed. - Pins. All seven
.githubreferences are the full 972ea41 sha: changes, docs-check, zizmor, cpp and cache-prune in ci.yml, plus pr-gate.yml and pr-title.yml. ci:is right at 1.x. Nothing a program sees changes, so no release follows.
Merged
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.
Problem
.githubv0.0.48 adds the family'stools/tidy_filter.sh, which prints clang-tidy's header filter for a build tree, and v0.0.50 and v0.0.51 add a conventions rule on how state a caller holds is checked (Rawframe-Project/.github#119 and Rawframe-Project/.github#120). This repository lacks it, carries an olderdocs/internals/maul-conventions.md, pins the reusable workflows at v0.0.42 and v0.0.45, and builds the filter itself in two places.Change
family_sync.py --write:tools/tidy_filter.shis added, anddocs/internals/maul-conventions.mdgains the rule that every clang-tidy call takes its header filter from it and the rule on state a caller holds.AGENTS.mdliststidy_filter.shamong the shared files.972ea41c6abf2652d3b067e57bf0713f1661cf0e # v0.0.51. Between the old pins and v0.0.51 onlypr-title.ymlchanged among the workflows, and its old pin, v0.0.45, already had that change.tools/check.sh'stidy()setfilter=$(tools/tidy_filter.sh <tree>)on a line of its own, so a tree without the cache entry stops the step instead of tidying with an empty filter, and pass--header-filter="$filter".tools/check.sh's ownheader_filter()is gone. A changed header still tidies every source.Verification
family_sync.py --checkfrom v0.0.51 reports 0 differences.return value == value;planted insrc/bits.h),tools/check.sh changedfails onmisc-redundant-expressioninsrc/bits.h, and the ci.yml step's commands report it on the Release and Debug presets.tools/tidy_filter.shon a tree whose cache lacks the entry exits 1.tools/check.sh changedpasses on the clean branch, andshellcheck -S warningis clean ontools/check.shandtools/tidy_filter.sh.Closes #261