|
|
|
This folder contains lint scripts.
|
|
|
|
|
|
|
|
Running locally
|
|
|
|
===============
|
|
|
|
|
|
|
|
To run linters locally with the same versions as the CI environment, use the included
|
|
|
|
Dockerfile:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
DOCKER_BUILDKIT=1 docker build -t bitcoin-linter --file "./ci/lint_imagefile" ./ && docker run --rm -v $(pwd):/bitcoin -it bitcoin-linter
|
|
|
|
```
|
|
|
|
|
|
|
|
Building the container can be done every time, because it is fast when the
|
|
|
|
result is cached and it prevents issues when the image changes.
|
|
|
|
|
|
|
|
test runner
|
|
|
|
===========
|
|
|
|
|
|
|
|
To run the checks in the test runner outside the docker, use:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
( cd ./test/lint/test_runner/ && cargo fmt && cargo clippy && cargo run )
|
|
|
|
```
|
|
|
|
|
|
|
|
check-doc.py
|
|
|
|
============
|
|
|
|
Check for missing documentation of command line options.
|
|
|
|
|
|
|
|
commit-script-check.sh
|
|
|
|
======================
|
|
|
|
Verification of [scripted diffs](/doc/developer-notes.md#scripted-diffs).
|
|
|
|
Scripted diffs are only assumed to run on the latest LTS release of Ubuntu. Running them on other operating systems
|
|
|
|
might require installing GNU tools, such as GNU sed.
|
|
|
|
|
|
|
|
git-subtree-check.sh
|
|
|
|
====================
|
|
|
|
Run this script from the root of the repository to verify that a subtree matches the contents of
|
|
|
|
the commit it claims to have been updated to.
|
|
|
|
|
|
|
|
```
|
|
|
|
Usage: test/lint/git-subtree-check.sh [-r] DIR [COMMIT]
|
|
|
|
test/lint/git-subtree-check.sh -?
|
|
|
|
```
|
|
|
|
|
|
|
|
- `DIR` is the prefix within the repository to check.
|
|
|
|
- `COMMIT` is the commit to check, if it is not provided, HEAD will be used.
|
|
|
|
- `-r` checks that subtree commit is present in repository.
|
|
|
|
|
|
|
|
To do a full check with `-r`, make sure that you have fetched the upstream repository branch in which the subtree is
|
|
|
|
maintained:
|
|
|
|
* for `src/secp256k1`: https://github.com/bitcoin-core/secp256k1.git (branch master)
|
|
|
|
* for `src/leveldb`: https://github.com/bitcoin-core/leveldb-subtree.git (branch bitcoin-fork)
|
|
|
|
* for `src/crypto/ctaes`: https://github.com/bitcoin-core/ctaes.git (branch master)
|
|
|
|
* for `src/crc32c`: https://github.com/bitcoin-core/crc32c-subtree.git (branch bitcoin-fork)
|
|
|
|
* for `src/minisketch`: https://github.com/sipa/minisketch.git (branch master)
|
|
|
|
|
|
|
|
To do so, add the upstream repository as remote:
|
|
|
|
|
|
|
|
```
|
|
|
|
git remote add --fetch secp256k1 https://github.com/bitcoin-core/secp256k1.git
|
|
|
|
```
|
|
|
|
|
|
|
|
all-lint.py
|
|
|
|
===========
|
|
|
|
Calls other scripts with the `lint-` prefix.
|