aboutsummaryrefslogtreecommitdiff
path: root/maint
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'locked' into 'main'Ian Jackson2023-09-141-2/+6
|\ | | | | | | | | CI: Use cargo install --locked See merge request tpo/core/arti!1587
| * CI: Force refresh of all "cargo install"Ian Jackson2023-09-111-1/+5
| |
| * CI: Use cargo install --lockedIan Jackson2023-09-111-1/+1
| | | | | | | | Unaccountably, this isn't the default.
* | maint/downgrade_dependencies: Honour $CARGOIan Jackson2023-09-141-2/+4
|/ | | | This let me run it with my privsep setup.
* Merge branch 'nodep' into 'main'Nick Mathewson2023-09-101-2/+2
|\ | | | | | | | | maint/bump_nodep: Two changes to help it work in my environment See merge request tpo/core/arti!1573
| * maint/bump_nodep: Use "git checkout" instead of "git restore"Ian Jackson2023-09-051-1/+1
| | | | | | | | | | | | Sadly the environment I ran this command on today didn't have "git restore". I should upgrade it but there are yaks, and I may not have managed to upgrade it by *next* Arti release.
| * maint/bump_nodep: Allow $CARGO to contain multiple wordsIan Jackson2023-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | This is a more convenient approach to command overriding. It's what we do elsewhere. I need this because with a script like "maint/bump_nodep", which edits the tree, I need to write CARGO='nailing-cargo -E' maint/bump_nodep .... (The -E option tells my privsep tool that the command is *supposed* to edit the tree - and that I am intending to review those changes.)
* | matrix_test: find directories correctlyNick Mathewson2023-09-051-2/+12
| |
* | Update "list_crates" to handle examples right.Nick Mathewson2023-09-051-6/+6
| |
* | downgrade_dependencies: upgrade "log"Nick Mathewson2023-09-051-0/+1
| | | | | | | | We don't use "log" but some dependency of one of our examples does.
* | Check-licenses: Allow "MIT AND BSD-3-Clause"Nick Mathewson2023-09-051-0/+1
| | | | | | | | | | | | | | | | We have automatic support for "OR", but we can't do anything automated with AND, since the intersection of licenses can get complicated. So we just have to authorize the specific combinations that exist. This is used by matchit, which is used in the gotlou's examples.
* | Teach check_toposort to not expect examples in crates/Nick Mathewson2023-09-051-1/+1
|/
* downgrade_dependencies: re-upgrade filetimeNick Mathewson2023-09-051-1/+2
| | | | | | | We don't actually use filetime directly, but notify wants it, and notify accepts a version that doesn't actually appear to work. This fixes minimal_versions CI.
* CI: cargo install caching: Use cache/ directory, per-imageIan Jackson2023-08-251-2/+8
| | | | | | This avoids us trying to run binaries built on one image, on a different one. I believe that this is supposed to work according to Rust doctrine, but empirically it doesn't.
* clippy: Suppress needless_pass_by_value in testsIan Jackson2023-08-231-0/+1
| | | | | | | Rationale: same as for useless_vec, as in 01cb7ee0a112. Prompted by reading a commit where someone did makework to get rid of an occurrence of this warning.
* Add a cargo-audit exception for RUSTSEC-2023-0052Nick Mathewson2023-08-221-0/+13
| | | | | We've solved this for rustls-webpki, but tls-api (which arti-hyper uses) still requires the unmaintained webpki crate. See #1016.
* cargo_audit: Add an exception for RUSTSEC-2022-0093.Nick Mathewson2023-08-141-0/+8
| | | | | | | This is the API deficiency in ed25519-dalek v1 that allows you to mismatch public and private keys, leading to a (fatal) double-signing attack. We have worked around this in our current design, so it's appropriate to suppress this warning for now.
* maint: use relative shebang in `maint/bump_nodep`Emil Engler2023-08-091-1/+1
|
* Merge branch 'with_coverage-no-list' into 'main'Ian Jackson2023-08-091-2/+2
|\ | | | | | | | | maint: provide no list of grcov formats See merge request tpo/core/arti!1482
| * maint: provide no list of grcov formatsEmil Engler2023-08-081-2/+2
| | | | | | | | | | | | | | | | | | This commit removes a list we provide for the supported grcov formats. In my opinion, this is a practice of bad software engineering, as we would then have to maintain this list by ourselves. Therefore, this commit removes this list from the `maint/with_coverage` script and replaces it with a references to the accompanying grcov command.
* | maint: remove useless optargEmil Engler2023-08-081-1/+1
| | | | | | | | | | The `maint/coverage` script has a useless option `c`. This commit removes it.
* | maint: list the HTML dependencies in coverageEmil Engler2023-08-081-0/+1
|/ | | | | | | | Currently, the `maint/coverage` script does not inform about the dependencies required for generating the HTML output, those are, the Python packages `bs4` and `lxml`. This commit fixes that, by updating the help section accordingly.
* add_warning: Change missing_docs,unreachable_pub to warnNick Mathewson2023-08-041-2/+7
| | | | Part of #951. See comments for explanation of why this is important.
* Add maint/check_all_lockfilesMicah Elizabeth Scott2023-08-031-0/+19
| | | | | Looks for any checked-in Cargo.lock files, and checks the lockfile quickly by running `cargo tree --locked` there.
* equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-0/+5
| | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
* Script to bump patchlevel without touching other cratesNick Mathewson2023-08-011-0/+39
| | | | | | | | Closes #945. Based on @diziet's comment in #945, with a little extra safety and paranoia. We use this for cases when there are trivial changes only in one of our crates.
* check_licenses: Whitelist for crates that may use LGPL-3.0-onlyMicah Elizabeth Scott2023-07-271-6/+18
| | | | | | | Narrows the previous check, allowing this particular LGPL only for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Prepare for an initial LGPL releaseMicah Elizabeth Scott2023-07-271-3/+5
| | | | | | | This replaces the 'TODO' marker from earlier commits, using tevador's copyright and license (LGPL 3.0 only) for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Reimplement HashX in RustMicah Elizabeth Scott2023-07-271-0/+6
| | | | | | | | | | | | | | | | | This is a new pure Rust implementation of the HashX algorithm designed by tevador for Tor's onion service proof of work puzzle v1. HashX is a lightweight family of randomly generated hash functions. A seed, via blake2 and siphash, drives a program generation model which randomly selects opcodes and registers while following some constraints that avoid timing stalls or insufficient hash mixing. The execution of these hash funcions can be done using a pure Rust interpreter, or about 20x faster using a very simple just in time compiler based on the dynasm assembler crate. This has been implemented for x86_64 and aarch64. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Fix typosDimitris Apostolou2023-07-221-1/+1
|
* cargo audit: un-ignore RUSTSEC-2023-0040 ("`users` is unmaintained"Ian Jackson2023-07-141-3/+0
|
* tor-proto: Add a suppression to "fix" the CIIan Jackson2023-07-121-0/+2
| | | | | | | This is failing in CI. I have no idea what the rules are and AFAICT no-one is alleging that there is an actual bug in the attributes. Empirically this suppression causes the script to pass.
* clippy: in tests, allow clippy::useless_vecIan Jackson2023-07-101-0/+1
| | | | | | | | | This is a perf issue, only. If tests are too slow, we will notice and ca speed them up. We should optimise for clarity and convenience, rather than speed. Forbidding this can result in churn between vec![] and [] as tests are updated and changed.
* clippy: globally allow clippy::needless_raw_string_hashesIan Jackson2023-07-101-0/+1
| | | | | | | | | | | | Rationale: no-one writes these by default without thinkinh. If they are unnecessary, then either the string must have had " in it before (in which case it might do again), or it is near other strings which *do* need it. And having it does no harm; indeed IMO it can increase clarity. Alternative to !1388's Fix new "needless_raw_string_hashes" lint from clippy +nightly
* Merge branch 'allow_missing_panics' into 'main'Ian Jackson2023-07-071-1/+0
|\ | | | | | | | | | | | | add_warning: Tolerate clippy::missing_panics_doc Closes #950 See merge request tpo/core/arti!1380
| * add_warning: Tolerate clippy::missing_panics_docNick Mathewson2023-07-061-1/+0
| | | | | | | | | | | | | | As of current nightly, this lint now includes expect()s, which makes it trigger way more than we'd like. See discussion on #950.
* | tor-rtcompat: Simplify trivial all() expressions.Nick Mathewson2023-07-061-2/+2
|/ | | | | | | Clippy nightly doesn't like `#[cfg(all(...))]` with only a single expression inside the `all(...)`. This requires an adjustment in check_doc_features.
* Replace our old complex semver-checks script.Nick Mathewson2023-06-291-106/+6
| | | | | | | | Now with cargo semver-checks >= 0.22.1, we no longer need to jump through hoops in order to only look at the `full` features. This, combined with our work on `fixup-features`, lets us be confident that we're only looking at semver breakage in experimental code.
* lints: Promote clippy::print_stderr and clippy::print_stdoutIan Jackson2023-06-211-0/+2
| | | | | | | | These are available in our MSRV now, so we don't need to handle specially. We can just add them to the standard lint block. (Lint block in every crate will be updated automatically in the next commit.)
* CI: add script to test every crate with default featuresIan Jackson2023-06-141-0/+19
|
* maint/cargo-audit: Ignore RUSTSEC-2023-0040 (the users crate is unmaintained)Gabriela Moldovan2023-06-051-0/+3
| | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* New script to run cargo-semver-checks with appropriate options.Nick Mathewson2023-05-311-0/+121
| | | | | | | | | | | | | The options are rather complicated; because we do not want to subject our experimental features to semver, we need to run generate JSON rustdoc on our own and then pass that JSON to cargo-semver-checks. This in turn requires us to use the same options that cargo-semver-checks uses, including "RUSTC_BOOTSTRAP". I've left some TODOs here in places where we will likely want to improve our code in the future. See #711.
* maint/check_license: Make MPL-2.0 into an allow-listNick Mathewson2023-05-231-1/+22
| | | | | | | | | | | | | Previously we allowed this license unconditionally. But because of its non-self-enacting nature, we need the actual notice from its "exhibit A" to appear somewhere that says that it applies to all the relevant code. Therefore, we shouldn't take new MPL-2.0 dependencies without hand-checking them. (I am tentatively allowing option-ext, though, since we already have an indirect dependency on that crate via `directories`.) For more info, see https://gitlab.torproject.org/tpo/core/arti/-/issues/845
* thanks: Also acknowledge Suggested-ByNick Mathewson2023-05-221-0/+2
|
* maint/thanks: Split up some long pipelinesNick Mathewson2023-05-181-2/+9
|
* maint/thanks: Remove email addresses from git trailersNick Mathewson2023-05-181-1/+1
| | | | | Okay, technically we're removing everything between the first `<` and the `>` at the end of the line.
* maint/thanks: Include some git trailers in acknowledgmentsNick Mathewson2023-05-181-3/+18
| | | | | | | | When building our list of acknowledgments, previously we would only include author and committer names. Now we also include anybody listed in the "Reported-by", "Co-authored-by", and "Thanks" trailers.
* fixup-features: minor doc fix.Nick Mathewson2023-05-151-5/+5
|
* fixup-features: Do not annotate non-features.Nick Mathewson2023-05-152-3/+7
|
* fixup-features: Do not add edges from non-features.Nick Mathewson2023-05-152-2/+7
|