Fix CI: beman-tidy Requirement failures and codespell typos#5
Merged
Conversation
The Beman Standard's [file.test_names] check requires test source files to match *.test.cpp. Rename the 56 negative-compile-test sources under tests/beman/expected/ (used via the add_fail_test CMake macro) accordingly and update their CMakeLists.txt references.
The Beman Standard's [file.license_id] check requires an SPDX header in the first 25 lines of every commentable file. Add the project's Apache-2.0 WITH LLVM-exception identifier to the CMake toolchain files, GitHub workflow/dependabot configs, and the remaining example/paper source files that were missing it.
[readme.badges] requires the library-status badge to be wrapped in a link to the maturity model doc; the plain image badge doesn't match any of the four required exact forms.
Fix genuine typos (souces, intializers) and add the legitimate technical tokens "FitH" (a PDF pdfstartview keyword) and "ist" (the makeindex style-file extension) to codespell's ignore list, since they're false positives rather than misspellings.
Coverage Report for CI Build 29099380103Coverage remained the same at 97.013%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
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.
Summary
The
Lint Check (pre-commit)workflow has been failing onmainsince thebeman-tidypre-commit hook picked up three new Requirement checks and thecodespellhook flagged pre-existing typos. This fixes all of them:[file.test_names]: renamed the 56 negative-compile-test sourcesunder
tests/beman/expected/(theadd_fail_testCMake targets) from*_fail.cppto*_fail.test.cppand updatedCMakeLists.txtaccordingly. Verified all 56 still compile-fail with their expected
diagnostics via
ctest.[file.license_id]: added the missingSPDX-License-Identifierheader to 26 files (CMake toolchain files, GitHub workflow/dependabot
configs,
examples/expected.cpp, and thepapers/wg21-latex/sources)that lacked one in their first 25 lines.
[readme.badges]: wrapped the README's library-status badge in thelink the Beman Standard requires — it was a bare image badge that didn't
match any of the four required exact forms.
codespell: fixed two genuine typos (souces,intializers) andadded
fith/istto codespell's ignore list, since those flaggedpapers/wg21-latexoccurrences are legitimate technical tokens (a PDFpdfstartviewkeyword and themakeindexstyle-file extension), notmisspellings.
Two Recommendation-level beman-tidy checks (
release.godbolt_trunk_version,readme.implements) are left failing — they don't affect the hook's exitcode (only Requirement failures do, absent
--require-all), so they wereout of scope for unblocking CI.
Test plan
make compile CONFIG=Asan— builds cleanctest --test-dir .build/build-system -C Asan— 1079/1079 tests pass,including all 56 renamed negative-compile tests
pre-commit run -a(make lint) — all hooks pass except twobeman-tidy Requirement checks that are a local-only artifact of this
dev environment having an
upstreamremote pointing at therepository's old name (
bemanproject/sandbox-expected); confirmedthose don't appear in the actual GitHub Actions checkout, which only
has
origin