Repository navigation
ci: take the family files and shared workflows at v0.0.51 - #311
Conversation
siracozmen01
left a comment
There was a problem hiding this comment.
Review at e922ae8. No changes needed. Read, not run. The checks were pending when I looked, so this approval assumes they pass.
-
The filter assignments are plain statements on their own lines:
- ci.yml,
filter=$(tools/tidy_filter.sh out/tidy)andfilter=$(tools/tidy_filter.sh out/tidy-asserts), each right after its configure. The workflow's default shell is bash (ci.yml:29), which GitHub runs with -e. - tools/check.sh,
tidy()declareslocal build filter, then assignsfilter=$(tools/tidy_filter.sh "out/check-tidy-$build")as a plain statement, underset -euo pipefail(check.sh:33).tidyis called at check.sh:162 and at 186, not in a condition.
header_filterand the inlineroot=/filter=builders are gone. Called with only a tree, the script prints the same^<escaped home>/(src|include)/with the same escape set. - ci.yml,
-
Family files.
tools/tidy_filter.shis new with mode 100755, blob d61928e, anddocs/internals/maul-conventions.mdis 80f34b2. Both are the canonical blobs at 972ea41. Thesrc/cpu.hcomment and NOLINT are .github #118's. I did not compare that file by blob, since its guard name is per library;family_sync --checkcovers it. -
Pins. All eight
.githubreferences move from v0.0.47 (19c1638) to the full 972ea41 sha: changes, docs-check, zizmor, cpp twice and cache-prune in ci.yml, plus pr-gate.yml and pr-title.yml. -
AGENTS.md is left as it is, as agreed.
Problem
maul2d carries the v0.0.47 family files, pins its workflows to v0.0.47, and builds clang-tidy's anchored header filter inline in
tools/check.shandci.yml..githubv0.0.51 (972ea41) has a familytools/tidy_filter.shthat does the same, a thirdNOLINTNEXTLINEinsrc/cpu.h, and two conventions rules (#310).Change
family_sync.py --writeat v0.0.51:tools/tidy_filter.sh(new, executable),src/cpu.h(its comment and aNOLINTNEXTLINE(readability-redundant-declaration)on the third declaration, fix(maul): mark cpu.h's CheckCpu, which a public header may repeat .github#118) anddocs/internals/maul-conventions.md(the tidy row namestools/tidy_filter.sh, plus docs(maul): say how state a caller holds is checked .github#119 and One cast hit type for closest and all-hit casts #120).tools/check.shand both clang-tidy steps ofci.yml: the filter comes fromfilter=$(tools/tidy_filter.sh <build tree>)on its own line, so a failure there stops the step instead of passing an empty filter. The inlineCMAKE_HOME_DIRECTORYread and escape are gone..github/workflows/ci.yml,pr-gate.ymlandpr-title.yml: the eightRawframe-Project/.githubreferences are pinned to972ea41c6abf2652d3b067e57bf0713f1661cf0e # v0.0.51. Between v0.0.47 and v0.0.51 no file under.github/workflows/or.github/actions/of.githubchanged, so no shared workflow behaves differently.AGENTS.md's list of shared family files does not gaintools/tidy_filter.shhere; no check reads that list.Verification
family_sync.py --checkreports 0 differences, and the syncedtools/tidy_filter.shequals the one at v0.0.51.return a == a;planted in a function insrc/core.hand nothing else changed:tools/check.sh changedruns clang-tidy on all 68 sources and fails onmisc-redundant-expressionatsrc/core.h. Without the plant, it passes, and thelinux-clang-20-asanpreset runs 25 of 25 tests.tools/check.shparses withbash -n, every workflow file parses as YAML, andtools/check_source.pypasses.Closes #310