Skip to content

Refresh to latest beman.exemplar template#1

Closed
ednolan wants to merge 24 commits into
mainfrom
ednolan_exemplarfix_20260405
Closed

Refresh to latest beman.exemplar template#1
ednolan wants to merge 24 commits into
mainfrom
ednolan_exemplarfix_20260405

Conversation

@ednolan

@ednolan ednolan commented Apr 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • Migrate build system to latest exemplar layout: CMake 3.30+, in-tree beman-install-library.cmake, VERIFY_INTERFACE_HEADER_SETS guarded by PROJECT_IS_TOP_LEVEL, enable_testing() added to root
  • Add include/beman/timed_lock_alg/CMakeLists.txt and timed_lock_alg.hpp umbrella header (includes mutex.hpp)
  • Update CI to infra-workflows@1.5.0; preserve timed_lock_alg's build-and-test matrix (C++20 minimum, no TSan on libstdc++ per GCC Bug 121496)
  • Replace beman-install-library-config.cmake with updated beman-install-library.cmake
  • Add CONTRIBUTING.md, update LICENSE to Apache-2.0 WITH LLVM-exception
  • Remove devcontainer.json, infra/tools/beman-submodule/, infra/.pre-commit-hooks.yaml (not in new exemplar)
  • Clobber CODEOWNERS and cron schedule with exemplar defaults

Test plan

  • CI passes on the branch
  • cmake --workflow --preset gcc-debug builds and tests cleanly
  • pre-commit run --all-files passes

🤖 Generated with Claude Code

TedLyngmo and others added 24 commits February 1, 2026 16:48
…t-autoupdate

Auto-update pre-commit hooks
…t-autoupdate

Auto-update pre-commit hooks
- Promote Clang 22 to primary CI version (full test suite)
- Demote Clang 21 to secondary tier alongside 20 and 19 (Release.Default only)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Consistency fix-up.

Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
If anything later changes in the propsals that requires an
implementation change, I'll add the R-states back.

Signed-off-by: Ted Lyngmo <ted@lyncon.se>
Signed-off-by: Ted Lyngmo <ted@lyncon.se>
…t-autoupdate

Auto-update pre-commit hooks
Removed the timing aspect. Check that the internals of the function as
implemented does what's expected using a "scripted" mutex.

Signed-off-by: Ted Lyngmo <ted@lyncon.se>
As of December 14, 2025, the Beman Project decided to remove the MIT
license as a supported license. This is due to implementer concerns
that the MIT licens's attribution clause makes MIT-licensed code
unshippable in standard library implementations:

https://old.reddit.com/r/cpp/comments/1pb6573/standard_library_implementer_explains_why_they/

For more details, see this pull request:

bemanproject/beman#189
Relicense from MIT -> Apache 2.0 with LLVM exceptions
Update repository structure, build system, and CI/CD configuration to
match the latest beman.exemplar template (stamp.sh with library_type=static,
unit_test_library=gtest, minimum_cpp_build_version=20). Key changes:

- Migrate root CMakeLists.txt to exemplar layout (CMake 3.30+, in-tree
  beman-install-library, VERIFY_INTERFACE_HEADER_SETS guarded by
  PROJECT_IS_TOP_LEVEL, enable_testing() added)
- Add include/beman/timed_lock_alg/CMakeLists.txt and
  include/beman/timed_lock_alg/timed_lock_alg.hpp umbrella header
- Update src and tests CMakeLists.txt to exemplar conventions
- Update CI workflow to infra-workflows@1.5.0; preserve timed_lock_alg
  build-and-test matrix (no C++17, no TSan on libstdc++, per GCC Bug 121496)
- Replace beman-install-library-config.cmake with updated
  beman-install-library.cmake from infra
- Add CONTRIBUTING.md, update LICENSE to Apache-2.0 WITH LLVM-exception
- Clobber CODEOWNERS and cron schedule with exemplar defaults
- Remove devcontainer.json (not in new exemplar template)
- Add .exemplar_version marker

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ednolan ednolan force-pushed the ednolan_exemplarfix_20260405 branch from 649a2a3 to 27f7c4e Compare April 6, 2026 11:56
@ednolan ednolan closed this Apr 6, 2026
@coveralls

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 24030908713

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 3 of 3 (100.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 24030901716: 0.0%
Covered Lines: 99
Relevant Lines: 99

💛 - Coveralls

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.

3 participants