Skip to content

Enable beman-tidy v0.5.2 in default mode#286

Open
neatudarius wants to merge 3 commits into
bemanproject:mainfrom
neatudarius:enable-beman-tidy-default
Open

Enable beman-tidy v0.5.2 in default mode#286
neatudarius wants to merge 3 commits into
bemanproject:mainfrom
neatudarius:enable-beman-tidy-default

Conversation

@neatudarius

Copy link
Copy Markdown
Member

Summary

  • Enable the beman-tidy pre-commit hook at v0.5.1 in default mode (args: [".", "--verbose"], no --require-all).
  • Add .beman-tidy.yaml with ignored_paths: [infra/] so the infra submodule is excluded.
  • Fix requirement-level failures uncovered by the initial run:
    • readme.badges: use linked library-status badge format required by beman-tidy v0.5.1
    • cmake.library_alias: add unconditional beman::execution alias (header-only wrapper when modules are disabled; literal alias target when modules are enabled)
    • file.license_id: add SPDX headers to workflow, config, script, and source files missing them

Closes bemanproject/beman-tidy#255 (default-mode enablement; --require-all follow-up tracked separately below).

Initial failures (before fixes)

Check Level Issue
readme.badges Requirement Unlinked library-status badge (v0.5.1 expects linked [![Library Status](...)](#...) format)
cmake.library_alias Requirement No valid beman::execution alias in top-level CMakeLists.txt (alias used ${BEMAN_EXECUTION_TARGET_PREFIX} variable; absent entirely for non-module builds)
file.license_id Requirement Missing SPDX in 8 files (workflows, .pre-commit-config.yaml, .markdownlint.yaml, bin/mk-*.py, examples/suspend_never.cpp, transform_sender.hpp)

Recommendations also reported (left unfixed for default mode):

  • release.godbolt_trunk_version — no Compiler Explorer badge
  • readme.title — SPDX comment precedes title line
  • readme.implements — uses **Implements:** instead of **Implements**:
  • cmake.library_name — target named via ${BEMAN_EXECUTION_TARGET_PREFIX} variable
  • file.names — 15 example/doc files use legacy naming (hyphens, not snake_case)

Blockers for --require-all

  • README formatting (readme.title, readme.implements) and Godbolt badge
  • CMake target naming (cmake.library_name) and broader CMake standardization (new checks in v0.5.1: cmake.passive_projects, cmake.passive_targets, cmake.config, etc.)
  • Renaming ~15 example/doc source files to snake_case (file.names)
  • Potential additional SPDX/copyright work across the large header surface

Test plan

  • pre-commit run beman-tidy --all-files passes locally
  • CI pre-commit workflow passes
  • CI build/test matrix unaffected (CMake alias wrapper is interface-only for default builds)

Uncomment the beman-tidy pre-commit hook at v0.5.1 with default-mode
args and add .beman-tidy.yaml. Fix requirement-level failures for
readme badges, cmake library alias, and missing SPDX license IDs.
@coveralls

coveralls commented Jul 9, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 95.058%. remained the same — neatudarius:enable-beman-tidy-default into bemanproject:main

Reformat the new target_link_libraries call added for the
beman::execution alias so gersemi passes in pre-commit CI.
@neatudarius neatudarius marked this pull request as ready for review July 9, 2026 23:12
@neatudarius neatudarius marked this pull request as draft July 10, 2026 00:13
@neatudarius neatudarius marked this pull request as ready for review July 10, 2026 00:21
@neatudarius neatudarius mentioned this pull request Jul 10, 2026
2 tasks
@neatudarius neatudarius changed the title Enable beman-tidy v0.5.1 in default mode Enable beman-tidy v0.5.2 in default mode Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bemanification] Run beman-tidy on beman.execution

2 participants