Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
451 commits
Select commit Hold shift + click to select a range
fb86184
beman-tidy: rename CI job
Jun 16, 2025
1dcbac2
beman-tidy: remove impl for README.LIBRARY_STATUS
Jun 16, 2025
5592d11
beman-tidy: add more TODOs
Jun 16, 2025
d35f6de
beman-tidy: tweaks in docs
Jun 16, 2025
d52d22e
Merge pull request #2 from neatudarius/beman-tidy
neatudarius Jun 16, 2025
1f4fda2
beman-tidy: support for pyproject.toml and uv
rishyak Jun 9, 2025
889aa13
beman-tidy: ruff linter tweaks (#1)
neatudarius Jun 16, 2025
006c318
docs(beman-tidy): uv-ify docs
rishyak Jun 17, 2025
85c46d2
fix: remove non-existent identifier
rishyak Jun 17, 2025
0059f30
build: bump python
rishyak Jun 17, 2025
d04af1c
build(deps): sync lockfiles
rishyak Jun 17, 2025
fe6b4bf
fix(beman-tidy): remove disallowed 'type' argument from BooleanOption…
rishyak Jun 17, 2025
1f569cb
[beman-tidy] beman-tidy: improve docs and examples (#2)
neatudarius Jun 17, 2025
492c8ec
[beman-tidy] beman-tidy: remove unused Python deps (#3)
neatudarius Jun 18, 2025
82634fc
chore(gitignore): add editor config files
rishyak Jun 18, 2025
75964b0
build: downgrade python version and sync deps
rishyak Jun 18, 2025
4b34b53
fix: adopt src/ layout to include lib/ subpackage in distribution
rishyak Jun 18, 2025
c95e471
docs(dev guide): update dependency management steps
rishyak Jun 18, 2025
e27ae49
chore: rename main.py to cli.py
rishyak Jun 18, 2025
b56e87e
chore: add @rishyak to codeowners
rishyak Jun 18, 2025
c13bc05
Merge pull request #31 from rishyak/rish.pep518
rishyak Jun 18, 2025
cc14485
[beman-tidy] exclude build artifacts
Jun 18, 2025
0e29ce9
Exclude more build artifacts
neatudarius Jun 18, 2025
2b33660
Merge pull request #34 from bemanproject/neatudarius-patch-4
neatudarius Jun 18, 2025
ffc32a0
beman-tidy: add check - README.LIBRARY_STATUS
Jun 16, 2025
d869b65
beman-tidy: tests/ subtree should mirror beman_tidy subtree
Jun 18, 2025
a4530b1
beman-tidy: more tweaks in docs
Jun 18, 2025
cb7b3fa
Merge branch 'main' into beman-tidy-docs
neatudarius Jun 18, 2025
819952f
[beman-tidy] docs: add explicit wording
Jun 18, 2025
7041d9e
Merge pull request #36 from neatudarius/beman-tidy-docs
neatudarius Jun 18, 2025
7bfefee
Merge branch 'main' into beman-tidy-implement-check-README.LIBRARY_ST…
Jun 18, 2025
133d10c
[beman-tody] Improve dev guide docs (#83)
neatudarius Jun 18, 2025
bcaa79e
Merge branch 'main' into beman-tidy-implement-check-README.LIBRARY_ST…
Jun 18, 2025
c7122bb
beman-tidy: README.BADGES is actually a requirement
Jun 18, 2025
e881c81
beman-tidy: cleanup in README related tests
Jun 18, 2025
b204596
beman-tidy: automatically import registered check classes into the pi…
Jun 18, 2025
a65867a
beman-tidy: add directory APIs in the framework
Jun 18, 2025
8529f37
beman-tidy: implement DIRECTORY.SOURCES
Jun 18, 2025
5b8dc58
beman-tidy: add require-all CLI argument
Jun 18, 2025
28aa44a
[beman-tidy] extend framework to process directories (#84)
neatudarius Jun 18, 2025
8a26ad6
Merge branch 'main' into beman-tidy-implement-check-README.LIBRARY_ST…
Jun 18, 2025
e62ddd6
Merge pull request #35 from neatudarius/beman-tidy-implement-check-RE…
neatudarius Jun 18, 2025
2162bbf
Merge branch 'main' into beman-tidy-add-require-all
Jun 18, 2025
fcfb649
beman-tidy: add require-all docs
Jun 18, 2025
f47347d
beman-tidy: sync .beman-standard.yml
Jun 18, 2025
0fc32a5
Merge pull request #87 from neatudarius/beman-tidy-sync-standard-config
neatudarius Jun 18, 2025
85ebff1
Merge pull request #86 from neatudarius/beman-tidy-add-require-all
neatudarius Jun 18, 2025
5421759
[beman-tidy] consistently use pathlib.Path rather than os.path
Tsche Jun 19, 2025
8d04a7b
[beman-tidy] consistently use pathlib.Path rather than os.path
Tsche Jun 19, 2025
630fab9
beman-tidy: implement TOPLEVEL.CMAKE
Jun 18, 2025
040a752
Remove Docker infrastructure files moved to bemanproject/containers
ednolan Jun 23, 2025
ba2b6c4
markdownlint: Don't include code blocks in line length check
ednolan Jun 25, 2025
8757f12
pre-commit: Add exemplar's checks, make them pass, add them to CI
ednolan Jun 25, 2025
14ea1d7
Fix duplicative CI runs when updating a pull request
ednolan Jun 25, 2025
d5d83c7
beman-submodule: Fix beman-submodule update --remote
ednolan Jun 25, 2025
5c4ae0c
refactor: using existing logic to check top-level CML
rishyak Jun 29, 2025
dc3effc
fix: remove errant print
rishyak Jun 29, 2025
b1b955a
fix: use correct python shebang
rishyak Jun 29, 2025
2ffc3c2
feat: better code coverage reporting with better formatting
rishyak Jun 29, 2025
2e8c981
style: mass format
rishyak Jun 29, 2025
949d3c4
Disable Markdown linting
ednolan Jun 30, 2025
54112ba
CODEOWNERS: remove @bemanproject/core-reviewers
ednolan Jun 30, 2025
12ad4c1
Merge pull request #100 [beman-tidy] general cleanup from rishyak/cle…
rishyak Jun 30, 2025
0c768a7
style: add linting and formatting to pre-commit for python
rishyak Jun 28, 2025
3e1e5f3
Merge pull request #104 from rishyak/pre-commit
rishyak Jun 30, 2025
bd918de
beman-tidy: implement TOPLEVEL.LICENSE and TOPLEVEL:README
wermos Jun 24, 2025
ba0d644
Fix import path.
wermos Jun 24, 2025
347375f
Fixed a copy-paste error.
wermos Jun 29, 2025
91894bd
Simplified the `check` implementations.
wermos Jun 29, 2025
417f92e
Populate more of the dictionary in the config reader.
wermos Jun 29, 2025
f8a90b9
Add a simple `fix` implementation for the TOPLEVEL.README.
wermos Jun 29, 2025
9497dc6
Added in missing path in constructor.
wermos Jun 29, 2025
3e26801
Update tools/beman-tidy/beman_tidy/lib/checks/beman_standard/toplevel.py
wermos Jun 29, 2025
a671d21
Removed an accidental `return`.
wermos Jun 29, 2025
e91ee7a
Formatted file, added a little more info to the `fix` function output.
wermos Jun 29, 2025
67d58fc
Revert "style: add linting and formatting to pre-commit for python"
ednolan Jun 30, 2025
5d151e7
ignore F403, add TODO
rishyak Jun 30, 2025
9ba2058
style: add linting and formatting to pre-commit for python
rishyak Jun 30, 2025
23886ad
Merge pull request #106 from rishyak/pre-commit
rishyak Jun 30, 2025
6df8ed3
Use `LicenseBaseCheck` instead of `FileBaseCheck`.
wermos Jul 1, 2025
15fb8da
Merge pull request #95 from wermos/toplevel
wermos Jul 2, 2025
dafc2a9
Update docs
neatudarius Jul 3, 2025
0abca4b
Merge pull request #108 from bemanproject/neatudarius-patch-6
neatudarius Jul 3, 2025
4b797b6
[beman-tidy] Improve dev docs
Jul 3, 2025
6c713f6
[beman-tidy] Add more docs for tests
Jul 3, 2025
4c06175
[beman-tidy] Sanitize test data
Jul 3, 2025
725f569
[beman-tidy]: implement DIRECTORY.SOURCES
Jul 3, 2025
1a3fc96
[beman-tidy] Fix --fix-inplace mode
Jul 3, 2025
9dca73f
[beman-tidy] Clarify docs
Jul 3, 2025
8eaa3ea
[beman-tidy] Reorder utils
Jul 3, 2025
d12fdab
[beman-tidy] Simplify path runners, to be able to reuse them on files…
Jul 3, 2025
37869f2
[beman-tidy] Run precommit
Jul 3, 2025
0f5e0c4
Merge pull request #111 from neatudarius/remove-purpose-token-from-te…
neatudarius Jul 4, 2025
f4d9de2
Merge pull request #110 from neatudarius/improve-dev-docs
neatudarius Jul 4, 2025
243e451
Add toolchain for Clang with libc++
ednolan Jul 6, 2025
987540f
[beman-tidy] Add README.IMPLEMENTS check
vickgoodman Jul 6, 2025
59bee20
Refactor regex patterns for improved readability
vickgoodman Jul 6, 2025
0d1a5e8
Run linter
vickgoodman Jul 6, 2025
76e6e7d
Merge branch 'beman-tidy-implement-check-README.IMPLEMENTS' of https:…
vickgoodman Jul 6, 2025
d23db15
Merge branch 'main' into beman-tidy-implement-check-DIRECTORY.SOURCES
Jul 6, 2025
1ed1ad5
Implement allow_untracked_files
ednolan Jul 7, 2025
feed9cf
[beman-submodule] Fix status command with untracked files
ednolan Jul 7, 2025
f33b449
[beman-tidy] Refactor README.IMPLEMENTS check for improved validation…
vickgoodman Jul 7, 2025
3c97b38
Run linter
vickgoodman Jul 7, 2025
edf002a
[beman-submodule] Fix missing newline at end of file with allow_untra…
ednolan Jul 7, 2025
1f70e02
[beman-submodule] Fix debug print in update function
ednolan Jul 7, 2025
f31c349
[beman-submodule] Fix another missing newline
ednolan Jul 7, 2025
69cb603
use-fetch-content.cmake: Support lockfiles with zero dependencies
ednolan Jul 8, 2025
296ef47
Indentation fix and add CMake linter to pre-commit
ednolan Jul 8, 2025
ef60c1f
Fix libc++ toolchain file
ednolan Jul 8, 2025
78de7eb
Update cmake/llvm-libc++-toolchain.cmake
ednolan Jul 8, 2025
92d39d2
Merge branch 'main' into beman-tidy-implement-check-README.IMPLEMENTS
vickgoodman Jul 8, 2025
5e00638
Merge branch 'beman-tidy-implement-check-README.IMPLEMENTS' of https:…
vickgoodman Jul 8, 2025
39cbd72
[beman-tidy] Refactor README.IMPLEMENTS check to improve validation a…
vickgoodman Jul 8, 2025
8221400
[beman-tidy] Removed #TODO: README.PURPOSE line from test_readme.py
vickgoodman Jul 8, 2025
4dff5af
[beman-tidy] Added multi-line check for README.IMPLEMENTS
vickgoodman Jul 8, 2025
209208e
[beman-tidy] Update log message for README.IMPLEMENTS check
vickgoodman Jul 8, 2025
8e80cc3
Merge pull request #113 from vickgoodman/beman-tidy-implement-check-R…
vickgoodman Jul 8, 2025
8deaf10
[beman-tidy] Enhance path check handling for directory and file checks
vickgoodman Jul 9, 2025
f5938f0
[beman-tidy] Added tests for TOPLEVEL.CMAKE
vickgoodman Jul 9, 2025
67fbda0
[beman-tidy] Run linter
vickgoodman Jul 9, 2025
5bee8d1
[beman-tidy] Run tests
vickgoodman Jul 9, 2025
197b5fc
[beman-tidy] Updated valid and invalid test cases
vickgoodman Jul 9, 2025
91af0aa
[beman-tidy] Removed duplicate line
vickgoodman Jul 9, 2025
dc798cc
[beman-tidy] CMake linter
vickgoodman Jul 10, 2025
cfc6f95
[beman-tidy] Added 'exclude' rule for the CMake linter
vickgoodman Jul 10, 2025
6af20dc
[beman-tidy ] Update test descriptions and changed CMakeLists.txt fil…
vickgoodman Jul 10, 2025
687d1f1
[beman-tidy] Added newlines for the dummy CMake files and refined the…
vickgoodman Jul 10, 2025
ba7ecc5
[beman-tidy] Removed 'exclude' rule for CMake linter and added a spac…
vickgoodman Jul 10, 2025
a4663b2
[beman-tidy] Fixed 'exclude' rule for CMake linter
vickgoodman Jul 10, 2025
0e1ad8f
[beman-tidy] Reverted changes in pre-commit config file and added .cm…
vickgoodman Jul 10, 2025
1d9ccd8
[beman-tidy] Reverted changes in pre commit config file
vickgoodman Jul 11, 2025
0a25bfa
[beman-tidy] Added 'exclude' rule for CMake linter to exclude test da…
vickgoodman Jul 11, 2025
e29742e
Merge pull request #123 from vickgoodman/beman-tidy-implement-check-T…
vickgoodman Jul 11, 2025
3205ef4
[beman-tidy] Clean docs
Jul 13, 2025
73711e4
Merge branch 'main' into beman-tidy-implement-check-DIRECTORY.SOURCES
Jul 13, 2025
11b5950
[beman-tidy] Tweak implementation for DIRECTORY.SOURCES to be conditi…
Jul 13, 2025
cfa3fd3
[beman-tidy] Fix broken tests after making DIRECTORY.SOURCES to be co…
Jul 13, 2025
844b3aa
[beman-tidy] Fix linting issues
Jul 13, 2025
326eff6
[beman-tidy] DIRECTORY.SOURCES. is now a REQUIREMENT
neatudarius Jul 13, 2025
0f0f772
[beman-tidy] Implement check REPOSITORY.CODEOWNERS
Jul 13, 2025
a8922ae
[beman-tidy] More cleanup for TOPLEVEL.CMAKE
Jul 13, 2025
63d9c52
Merge pull request #125 from neatudarius/cleanup
neatudarius Jul 13, 2025
a76d18d
Merge pull request #124 from neatudarius/add-REPOSITORY.CODEOWNERS
neatudarius Jul 13, 2025
0330622
[beman-tidy] Added tests for TOPLEVEL.LICENSE
vickgoodman Jul 14, 2025
0f5c90b
[beman-tidy] Run linter and added clearer comments
vickgoodman Jul 14, 2025
2aa51cc
[beman-tidy] Added tests for TOPLEVEL.README
vickgoodman Jul 14, 2025
2f53859
[beman-tidy] Added clearer comments for CMakeLists.txt checks
vickgoodman Jul 14, 2025
7b3a16f
Merge pull request #129 from vickgoodman/beman-tidy-implement-check-T…
neatudarius Jul 14, 2025
37d7f04
[beman-tidy] Move REPOSITORY.CODEOWNERS to repository.py
Jul 14, 2025
58da9a6
Merge pull request #130 from neatudarius/cleanup-repo
neatudarius Jul 14, 2025
9425e01
[beman-tidy] Move REPOSITORY.CODEOWNERS to repository.py
Jul 14, 2025
a68af68
Merge pull request #131 from neatudarius/tweaks1
neatudarius Jul 14, 2025
5a99072
Merge branch 'main' of https://github.com/vickgoodman/infra into bema…
vickgoodman Jul 14, 2025
788277c
Update CODEOWNERS
neatudarius Jul 14, 2025
66094a0
[beman-tidy] Simplify test cases for LICENSE checks
vickgoodman Jul 14, 2025
8c56c92
[beman-tidy] Clean up comments and repaired wrong path names
vickgoodman Jul 14, 2025
a483ef8
[beman-tidy] Clearer comments
vickgoodman Jul 14, 2025
3ef7b16
Merge pull request #127 from vickgoodman/beman-tidy-implement-check-T…
vickgoodman Jul 14, 2025
1437d0b
Merge branch 'main' of https://github.com/vickgoodman/infra into bema…
vickgoodman Jul 14, 2025
e2c2722
[beman-tidy] Update tests and update test paths for README.md checks
vickgoodman Jul 14, 2025
56a0aa3
Merge pull request #128 from vickgoodman/beman-tidy-implement-check-T…
vickgoodman Jul 14, 2025
64e4e9f
Merge pull request #132 from bemanproject/neatudarius-patch-7
JeffGarland Jul 14, 2025
f8d426e
[beman-tidy] Implement check() for repository default branch
vickgoodman Jul 14, 2025
63dacde
[beman-tidy] Added tests for repository default branch
vickgoodman Jul 14, 2025
af59541
[beman-tidy] Run linter
vickgoodman Jul 14, 2025
f4fc908
[beman-tidy] Simplify check, correct 'fix' log, run linter
vickgoodman Jul 14, 2025
cc0f367
[beman-tidy] Run linter
vickgoodman Jul 14, 2025
ed5b48d
[beman-tidy] Added more invalid tests
vickgoodman Jul 14, 2025
cc69aa8
[beman-tidy] Fixed typo :)
vickgoodman Jul 14, 2025
c4e7186
Merge pull request #133 from vickgoodman/beman-tidy-implement-REPOSIT…
vickgoodman Jul 14, 2025
8196683
[beman-tidy] Implement DIRECTORY.INTERFACE_HEADERS check and add tests
vickgoodman Jul 15, 2025
5ae14e1
[beman-tidy] Run linter
vickgoodman Jul 15, 2025
4fb32e3
[beman-tidy] Run linter
vickgoodman Jul 15, 2025
a21248c
[beman-tidy] Improve docs
Jul 15, 2025
ade1992
[beman-tidy] Add todo
Jul 15, 2025
a090eb2
Merge pull request #114 from neatudarius/beman-tidy-implement-check-D…
neatudarius Jul 16, 2025
aa24c86
[beman-tidy] Added check and tests for LICENSE.APPROVED
vickgoodman Jul 16, 2025
4221823
[beman-tidy] Run linter
vickgoodman Jul 16, 2025
55feeed
Merge branch 'main' into beman-tidy-implement-DIRECTORY.INTERFACE_HEA…
vickgoodman Jul 16, 2025
58a7c06
Sync LICENSE with exemplar/LICENSE
Jul 16, 2025
7905810
Merge pull request #136 from neatudarius/sync-LICENSE
neatudarius Jul 16, 2025
b2ed14f
[beman-tidy] Fix README.BADGES to check for multiple badge categories
Jul 16, 2025
7a7ff78
Merge pull request #137 from neatudarius/fix-README.BADGES
neatudarius Jul 16, 2025
28e6f9b
[beman-tidy] Add logs for fix() methods which won't be implemented
Jul 16, 2025
67bfe66
Merge pull request #138 from neatudarius/add-docs
neatudarius Jul 16, 2025
5c9a9e6
Merge branch 'main' of https://github.com/vickgoodman/infra into bema…
vickgoodman Jul 17, 2025
d6b1ce5
[beman-tidy] Updated check and tests for LICENSE.APPROVED
vickgoodman Jul 17, 2025
2bd3185
[beman-tidy] Run linter
vickgoodman Jul 17, 2025
d68144f
[beman-tidy] Run linter
vickgoodman Jul 17, 2025
4d2e0d4
[beman-tidy ] Refactored LICENSE.APPROVED check updated tests
vickgoodman Jul 18, 2025
13236ab
[beman-tidy] Run linter
vickgoodman Jul 18, 2025
15d92eb
[beman-tidy] Removed dead code
vickgoodman Jul 18, 2025
0b808d9
[beman-tidy] Prettier regex with textwrap
Jul 18, 2025
a9975c6
Merge pull request #2 from neatudarius/pretty-regex
vickgoodman Jul 18, 2025
50e4123
[beman-tidy] Clearer regex comment
vickgoodman Jul 18, 2025
12d6985
[beman-tidy] Clearer comments for regex
vickgoodman Jul 18, 2025
79d4922
Merge pull request #135 from vickgoodman/beman-tidy-implement-LICENSE…
vickgoodman Jul 18, 2025
bf09463
[beman-tidy] Added check, fix and tests for LICENSE.APACHE_LLVM
vickgoodman Jul 18, 2025
fae5e16
[beman-tidy] Run linter
vickgoodman Jul 18, 2025
8e56cf3
[beman-tidy] Added clearer check and tests
vickgoodman Jul 18, 2025
e7c0dae
[beman-tidy] Run linter
vickgoodman Jul 18, 2025
018212c
[beman-tidy] Remove space
vickgoodman Jul 18, 2025
fb63b40
Merge pull request #139 from vickgoodman/beman-tidy-implement-LICENSE…
vickgoodman Jul 18, 2025
39bcc58
[beman-tidy] Added check for LICENSE.CRITERIA
vickgoodman Jul 18, 2025
a109700
[beman-tidy] Run linter
vickgoodman Jul 18, 2025
0cc6be8
[beman-tidy] Run linter
vickgoodman Jul 18, 2025
fe154fe
[beman-tidy] Added tests and comments
vickgoodman Jul 18, 2025
54efbdc
[beman-tidy] Updated tests
vickgoodman Jul 18, 2025
b8137a6
Merge pull request #140 from vickgoodman/beman-tidy-implement-LICENSE…
vickgoodman Jul 18, 2025
aa23f1a
[beman-tidy] Added check and tests for REPOSITORY.DISALLOW_GIT_SUBMOD…
vickgoodman Jul 19, 2025
8f57dca
[beman-tidy] Run linter
vickgoodman Jul 19, 2025
f8965ae
[beman-tidy] Run linter
vickgoodman Jul 19, 2025
211fccc
[beman-tidy] Added check, fix and tests for REPOSITORY.NAME
vickgoodman Jul 19, 2025
54eea15
[beman-tidy] Simplify repo name check and added tests
vickgoodman Jul 19, 2025
a52ce63
[beman-tidy] Run linter
vickgoodman Jul 19, 2025
0c744b9
Merge pull request #142 from vickgoodman/beman-tidy-implement-REPOSIT…
vickgoodman Jul 19, 2025
c1a86e8
[beman-tidy] Added check and tests for REPOSITORY.DISALLOW_GIT_SUBMOD…
vickgoodman Jul 19, 2025
96aab31
[beman-tidy] Run linter
vickgoodman Jul 19, 2025
02be284
[beman-tidy] Revert changes
vickgoodman Jul 19, 2025
4de0aac
[beman-tidy] Simplified check and changed tests
vickgoodman Jul 19, 2025
d54d51c
[beman-tidy] Run linter
vickgoodman Jul 19, 2025
f2fc6b7
[beman-tidy] Added clearer log message for fix
vickgoodman Jul 19, 2025
621d444
[beman-tidy] Implement RELEASE.GODBOLT_TRUNK_VERSION
Jul 19, 2025
e01c9cb
[beman-tidy] Implement RELEASE.GITHUB
Jul 19, 2025
8a3b7d8
[beman-tidy] Implement RELEASE.NOTES
Jul 19, 2025
aab8105
[beman-tidy] Improve docs
Jul 19, 2025
cd5b2f9
[beman-tidy] beman-tidy should access configuration files that are on…
Jul 19, 2025
b9045ba
Merge pull request #143 from neatudarius/RELEASE.GODBOLT_TRUNK_VERSION
neatudarius Jul 19, 2025
fb89aba
[beman-tidy] Submodule path starts with 'papers/' as per DIRECTORY.PA…
vickgoodman Jul 20, 2025
f559bc6
Merge pull request #141 from vickgoodman/beman-tidy-implement-REPOSIT…
vickgoodman Jul 20, 2025
ee35abf
[beman-tidy] CI flows should build, install and run beman-tidy
Jul 20, 2025
7fe0d69
[beman-tidy] Added check, fix and tests for DIRECTORY.DOCS
vickgoodman Jul 20, 2025
1f59595
[beman-tidy] Run linter
vickgoodman Jul 20, 2025
5b139db
[beman-tidy] Remove repo name assignment in path check
vickgoodman Jul 21, 2025
720727e
[beman-tidy] CI flows: split in run_linter, run_tests, build_and_inst…
Jul 20, 2025
54196af
Merge pull request #150 from neatudarius/CI-should-build-install-and-…
neatudarius Jul 22, 2025
7238db9
[beman-tidy] CI tests should run on schedule and on demand.
neatudarius Jul 22, 2025
c62e547
[beman-tidy] Set CI tests run schedule
neatudarius Jul 22, 2025
9f57a6f
Merge pull request #154 from bemanproject/neatudarius-patch-8
neatudarius Jul 22, 2025
b881291
Tweaks in docs
neatudarius Jul 22, 2025
2a871ec
Merge pull request #158 from bemanproject/neatudarius-patch-9
neatudarius Jul 22, 2025
42f97ae
Merge branch 'main' into beman-tidy-implement-DIRECTORY.DOCS
vickgoodman Jul 22, 2025
3b54e6f
[beman-tidy] Minor changes to check and tests
vickgoodman Jul 22, 2025
f11a53c
[beman-tidy] Run linter
vickgoodman Jul 22, 2025
20409da
Merge branch 'main' into beman-tidy-implement-DIRECTORY.INTERFACE_HEA…
vickgoodman Jul 22, 2025
93d6d77
Merge pull request #152 from vickgoodman/beman-tidy-implement-DIRECTO…
vickgoodman Jul 22, 2025
c2af8e9
[beman-tidy] Improved check logic to be similar to DIRECTORY.DOCS and…
vickgoodman Jul 22, 2025
5b78f2b
Merge branch 'main' into beman-tidy-implement-DIRECTORY.INTERFACE_HEA…
vickgoodman Jul 22, 2025
fdd9ee1
[beman-tidy] Run linter
vickgoodman Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @ednolan @neatudarius @rishyak @wusatosi @JeffGarland
32 changes: 32 additions & 0 deletions .github/workflows/beman-submodule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: beman-submodule tests

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

jobs:
beman-submodule-script-ci:
name: beman_module.py ci
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13

- name: Install pytest
run: |
python3 -m pip install pytest

- name: Run pytest
run: |
cd tools/beman-submodule/
pytest
111 changes: 111 additions & 0 deletions .github/workflows/beman-tidy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: beman-tidy tests

on:
push:
branches:
- main
pull_request:
workflow_call:
workflow_dispatch:
schedule:
- cron: '0 6 * * *' # 09:00AM EEST (@neatudarius' timezone)

jobs:
run_linter:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tools/beman-tidy
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5

- name: Sync environment
run: |
uv sync

- name: Run linter
run: |
uv run ruff check --diff

run_tests:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tools/beman-tidy
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5

- name: Sync environment
run: |
uv sync

- name: Run tests
run: |
uv run pytest tests/ -v

build_and_install:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tools/beman-tidy
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5

- name: Sync environment
run: |
uv sync

- name: Build and install beman-tidy
run: |
uv clean
uv build
python3 -m pip install dist/beman_tidy-0.1.0-py3-none-any.whl --force-reinstall
beman-tidy --help

run_on_exemplar:
runs-on: ubuntu-latest
defaults:
run:
working-directory: tools/beman-tidy
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5

- name: Sync environment
run: |
uv sync

- name: Build and install beman-tidy
run: |
uv clean
uv build
python3 -m pip install dist/beman_tidy-0.1.0-py3-none-any.whl --force-reinstall
beman-tidy --help

- name: Run installed beman-tidy on exemplar repo
run: |
git clone https://github.com/bemanproject/exemplar.git
cd exemplar/ # Testing that beman-tidy can be run from any path, e.g. from the exemplar repo.
beman-tidy --verbose --require-all .

create-issue-when-fault:
needs: [run_linter, run_tests, build_and_install, run_on_exemplar]
if: failure() && (github.event_name == 'workflow_call' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
uses: ./.github/workflows/reusable-beman-create-issue-when-fault.yml
78 changes: 78 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Lint Check (pre-commit)

on:
# We have to use pull_request_target here as pull_request does not grant
# enough permission for reviewdog
pull_request_target:
push:
branches:
- main

jobs:
pre-commit-push:
name: Pre-Commit check on Push
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13

# We wish to run pre-commit on all files instead of the changes
# only made in the push commit.
#
# So linting error persists when there's formatting problem.
- uses: pre-commit/[email protected]

pre-commit-pr:
name: Pre-Commit check on PR
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request_target' }}

permissions:
contents: read
checks: write
issues: write
pull-requests: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

# pull_request_target checkout the base of the repo
# We need to checkout the actual pr to lint the changes.
- name: Checkout pr
run: gh pr checkout ${{ github.event.number }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13

# we only lint on the changed file in PR.
- name: Get Changed Files
id: changed-files
uses: tj-actions/changed-files@v45

# See:
# https://github.com/tj-actions/changed-files?tab=readme-ov-file#using-local-git-directory-
- uses: pre-commit/[email protected]
id: run-pre-commit
with:
extra_args: --files ${{ steps.changed-files.outputs.all_changed_files }}

# Review dog posts the suggested change from pre-commit to the pr.
- name: suggester / pre-commit
uses: reviewdog/action-suggester@v1
if: ${{ failure() && steps.run-pre-commit.conclusion == 'failure' }}
with:
tool_name: pre-commit
level: warning
reviewdog_flags: "-fail-level=error"
28 changes: 28 additions & 0 deletions .github/workflows/reusable-beman-create-issue-when-fault.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: 'Beman issue creation workflow'
on:
workflow_call:
workflow_dispatch:
jobs:
create-issue:
runs-on: ubuntu-latest
steps:
# See https://github.com/cli/cli/issues/5075
- uses: actions/checkout@v4
- name: Create issue
run: |
issue_num=$(gh issue list -s open -S "[SCHEDULED-BUILD] infra repo CI job failure" -L 1 --json number | jq 'if length == 0 then -1 else .[0].number end')
body="**CI job failure Report**
- **Time of Failure**: $(date -u '+%B %d, %Y, %H:%M %Z')
- **Commit**: [${{ github.sha }}](${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }})
- **Action Run**: [View logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
The scheduled job triggered by cron has failed.
Please investigate the logs and recent changes associated with this commit or rerun the workflow if you believe this is an error."
if [[ $issue_num -eq -1 ]]; then
gh issue create --repo ${{ github.repository }} --title "[SCHEDULED-BUILD] infra repo CI job failure" --body "$body" --assignee ${{ github.actor }}
else
gh issue comment --repo ${{ github.repository }} $issue_num --body "$body"
fi
env:
GH_TOKEN: ${{ github.token }}
59 changes: 59 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Python
__pycache__/
.pytest_cache/
*.pyc
*.pyo
*.pyd
*.pyw
*.pyz
*.pywz
*.pyzw
*.pyzwz
*.delete_me

# MAC OS
*.DS_Store

# Editor files
.vscode/
.idea/

# Build directories
infra.egg-info/
beman_tidy.egg-info/
*.egg-info/
build/
dist/
32 changes: 32 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files

- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell

# CMake linting and formatting
- repo: https://github.com/BlankSpruce/gersemi
rev: 0.15.1
hooks:
- id: gersemi
name: CMake linting
exclude: ^.*/tests/.*/data/ # Exclude test data directories

# Python linting and formatting
# config file: ruff.toml (not currently present but add if needed)
# https://docs.astral.sh/ruff/configuration/
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.1
hooks:
- id: ruff-check
files: ^tools/beman-tidy/
- id: ruff-format
files: ^tools/beman-tidy/
7 changes: 7 additions & 0 deletions .pre-commit-hooks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- id: beman-tidy
name: "beman-tidy: bemanification your repo"
entry: ./tools/beman-tidy/beman-tidy
language: script
pass_filenames: false
always_run: true
args: [".", "--verbose"]
Loading