ci: subtree lint scope #34928

issue Sjors openend this issue on March 26, 2026
  1. Sjors commented at 5:24 pm on March 26, 2026: member

    In #34804 the locale linter tripped over a missing LC_ALL in libmultiprocess. That was trivial to fix, and perhaps a good thing, but it raised the question to what extend we should be linting subtrees: https://github.com/bitcoin-core/libmultiprocess/pull/265#issuecomment-4136321000

    Currently it’s rather inconsistent; each linter has their own list of subtree exceptions, which doesn’t include some old libraries (e.g. crc32c) and misses some new ones (e.g. libmultiprocess).

    Should we make one list and exclude it from all linters? Or do we strive to keep the same code style in subtrees and make exceptions only as needed?

  2. maflcko commented at 5:45 pm on March 26, 2026: member

    Currently it’s rather inconsistent; each linter has their own list of subtree exceptions

    I don’t think this is true. There are common/shared constants for those in Rust and Python:

    0$ git grep -e 'pub fn get_subtrees(' -e 'SHARED_EXCLUDED_SUBTREES ='
    1test/lint/lint_ignore_dirs.py:SHARED_EXCLUDED_SUBTREES = ["src/leveldb/",
    2test/lint/test_runner/src/util.rs:pub fn get_subtrees() -> Vec<&'static str> {
    

    So if a linter is missing those, it should be added.

    In any case, libmultiprocess is probably written in the same C++ that Bitcoin Core is written in, so it could make sense to apply some of the linters there.

  3. maflcko added the label Tests on Mar 26, 2026
  4. ryanofsky commented at 9:48 am on March 27, 2026: contributor
    I agree with Marco it’s nice for these lint checks to apply. The thing that’s not ideal is just the way the checks are currently applied because they aren’t performed until the subtree is updated. One way to improve this might be to extend https://github.com/bitcoin-core/libmultiprocess/pull/253 to run the Bitcoin core lint job in addition to other jobs when libmultiprocess prs are opened to provide earlier feedback. (It could also be good to make Bitcoin core CI code more modular so the checks could be easier to reuse and probably easier to maintain.)

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-03-31 12:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me