This commit introduces two kinds of benchmarks:
1. Cryptographic Primitives. Measures the performance of all available
implementations of cryptographic algorithms using traditional
benchmarking. Uses criterion.
2. Protocol Runs. Measures the time each step in the protocol takes.
Measured using a tracing-based approach.
The benchmarks are run on CI and an interactive visual overview is
written to the gh-pages branch. If a benchmark takes more than twice the
time than the reference commit (for PR: the main branch), the action
fails.
This commits changes the CI for dependabot PRs such that initially, only the exemptions for cargo vet are regenerated and pushed to the PR.
Only after that, all other workflows are triggered. This ensures that the CI result for dependabot PRs is properly presented on github.
There still is ambiguity between the script's output and the current CI
pipelines, usage not recommend.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
It was missing from the fullEnv nativeBuildInputs. Also, reorder the
cargo subcommands in that list alphabetically.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
This check requires a specific toolchain version, and to get that, we
introduce oxalica's rust-overlay.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
Before this change, the patch release was left open. This patch
pinpoints it exactly, down to the patch release.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
By now it is possible to use cargo-llvm-cov with the nixpkgs built-in
llvm tools, thus no need for a nightly rust with the llvm-tools-preview.
Therefore, fenix as a dependency is removed.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
This implicates a change from nixpkgs-fmt to nixfmt. Nixfmt will become
the new standard on nix formatting, sanctioned by the nixpkgs. To verify
that these changes are purely in whitespace, but not semantic:
git diff --ignore-all-space -w HEAD^!
That will only show newline changes, make the diffing somewhat easier.
Signed-off-by: wucke13 <wucke13+github@gmail.com>
Add a treefmt setup for a single-entry point format-everything system.
To use it, simply run `nix fmt`. This will in term run nixfmt, prettier
and rustfmt.
Signed-off-by: wucke13 <wucke13+github@gmail.com>