CI: fail when the upstream name appears in a new string literal
tools/fork/name-check.py reads every string literal in crates/ (comments and test directories skipped) and fails on any that carries the upstream name without an entry in name-allowlist.txt. An upstream merge can bring such strings in without a conflict, so it runs on every push and PR. The first run found three the earlier sweeps missed, fixed here: the SMTP HELP reply pointed at upstream's website (now brand_url!), the event collector thread was named after upstream, and the FreeBSD default data path still said /var/db/stalwart/ where Linux already had /var/lib/inbuxa/. Two operator-visible defaults are allowlisted as open, pending a decision: the log file prefix and the SQL stores' default database and user.
This commit is contained in:
@@ -21,6 +21,22 @@ at the repository root before the import is merged.
|
||||
|
||||
It needs Python 3.12+ (for `tarfile`'s `data` filter) and git.
|
||||
|
||||
## name-check.py
|
||||
|
||||
Fails when the upstream project's name appears in a Rust string literal that
|
||||
`name-allowlist.txt` doesn't list. CI runs it on every push and pull request,
|
||||
so an upstream merge can't bring the name back into what users and operators
|
||||
see. Comments, copyright headers and test directories aren't checked.
|
||||
|
||||
```bash
|
||||
tools/fork/name-check.py # exit 1 on anything new
|
||||
tools/fork/name-check.py --list # every finding, in allowlist format
|
||||
```
|
||||
|
||||
Rename what it reports. If a string has to stay, such as a key-derivation
|
||||
context or a wire-protocol identifier, add its `--list` line to the allowlist
|
||||
under the reason it stays.
|
||||
|
||||
## record-compat.py
|
||||
|
||||
Records what the `*_compat` tests compare against, from the Enterprise
|
||||
|
||||
Reference in New Issue
Block a user