Age | Commit message (Collapse) | Author |
|
- Remove the general-purpose ffi crates. They will be moved into
their own repository. Note that we consider general-purpose ffi
crates to be a dead end: exposing Sequoia's interface requires a
large number of types and functions, and using the interface from
C turned out to be verbose and error-prone. Instead, we prefer to
write point solutions in Rust that implement exactly the
functionality the downstream consumer needs, then expose this via
ffi bindings.
- See https://gitlab.com/sequoia-pgp/sequoia-ffi.
|
|
- Rust 1.56.0 is affected by CVE-2021-42574, which is addressed in
1.56.1.
|
|
|
|
|
|
Add support for an integration and acceptance test suite using the
Subplot tool (https://subplot.liw.fi/). There are the initial, very
simple test scenarios, to get us started. The goal is to introduce the
scaffolding for integration tests, so that further tests can be added
with ease later.
The tests are documented and defined in sq-subplot.md. In build.rs, we
call Subplot to generate test code from the markdown file. The tests
are run via "cargo test", as usual.
Subplot can also generate a typeset test document from sq-subplot.md,
but we don't do that here.
|
|
This amends the "rust-stable" pipeline to build with stable rust (from
rustup), then unset the override to use stable, which means the
rust-toolchain file is obeyed. It then installs clippy, and runs it.
|
|
|
|
|
|
- This adds a cryptographic backend based on the RustCrypto crates.
The backend is marked as experimental, as the RustCrypto crates'
authors state that they have not been audited and may not perform
computations in constant time. Nevertheless, it may be useful in
certain environments, e.g. WebAssembly.
- The backend implements RSA, EdDSA and ECDH over Curve25519, IDEA,
3DES, CAST5, Blowfish, AES, Twofish, EAX, MD5, SHA1, RipeMD160, and
the SHA2 family.
- Notably missing are DSA, ElGamal, and ECDSA and ECDH over the NIST
curves.
- See #333.
|
|
- Also run this example in the CI so that we can see what algorithms
are supported by which backend.
|
|
- Actually include the long-running jobs in schedules. The keyword is
"schedules", not "scheduled".
- Fixes #709.
|
|
|
|
- Set up the Visual C++ environment for cross compilation, with -arch
for the target and -host_arch for the host architecture.
- Set the i686-pc-windows-msvc target for the cargo invocations.
|
|
- From this point on, the crate sequoia-sqv will be maintained in
its own repository.
|
|
This should be reverted once the arm64 runners are up again.
|
|
|
|
- Build the tests as 32-bit windows binaries.
- Uses the stable-i686-pc-windows-msvc toolchain.
|
|
- Those make targets that are useful to users are just wrappers
around the respective cargo commands, which means that they are
not really necessary. The additional targets are primarily of
use to Sequoia developers, which also means that they are not
very useful to users.
- That did not keep us from prominently advertising the use of
make as a recommended installation mechanism, and that in turn
contributed to some false expectations and confusion.
- For example, a packager used the Makefile because they thought
that that is what we would like them to do. Some users found it
surprising that "sudo make install" ended up running the target
"build-release" even though they had already build using "build".
- People who want to keep using make without every time having to
specify the name of the hidden Makefile can do so by creating a
symbolic link.
|
|
|
|
- Compare the current commit's performance to that of the previous
latest commit on the branch (CI_COMMIT_BEFORE_SHA).
- Use `critcmp` for benchmark output.
- Passes benchmark result as artifact.
- Run only for tags, web, scheduled pipelines, or the "bench" keyword.
|
|
|
|
|
|
|
|
|
|
arm64 jobs should not wait on x86 jobs, and vice-versa.
this also adds a couple of missing runner tags.
|
|
Duplicate the linux jobs in the CI manifest, but make them pull the
arm64 docker images, and use the arm64 runner.
|
|
Close #660
The changelog documenting cargo's --workspace arrival is
[here](https://github.com/rust-lang/cargo/blob/61a31bc5ff290322d5c025bf750c56501999235d/CHANGELOG.md#added-13).
Note `cargo fmt` still expects `--all` because the subcommand semantics differ.
|
|
|
|
|
|
- It comes with preinstalled debian packages and /target.
|
|
|
|
|
|
- If there is only one commit do not rebase at all.
An empty rebase with --exec will still run the exec command once.
- Fixes #628.
|
|
- Unfortunately, we still need to commit the result. Once the
external doc feature is merged, we can avoid this. See
https://github.com/rust-lang/rust/issues/44732.
|
|
- Unfortunately, we still need to commit the result. Once the
external doc feature is merged, we can avoid this. See
https://github.com/rust-lang/rust/issues/44732.
|
|
- We renamed master to main.
- Change all_commits to check all commits since main, not master.
|
|
This reverts commit 327a987e2c95ea9d05fcadd6fa7a8c249372affd.
|
|
|
|
- The `pep-engine` branch only gets merge commits from master,
checking all commits on top of master does not make sense here.
|
|
|
|
|
|
- Add a job to test all commits up to master.
- Use `git rebase --exec` to run tests for each commit.
- Set dummy credentials to make git rebase happy.
- Use `git clone` strategy to limit impact on other jobs.
|
|
Abort the ci run if codespell fails.
Rust-stable was marked as independent of codespell
which makes it start right away.
If codespell fails and rust-stable still runs
gitlab will show the state of the entire pipeline as pending.
In some places it also displays the state of the different stages.
Here one can see that the .pre stage already failed.
But it would be nice to get this feedback everywhere asap.
This means that the build jobs have to wait ~20sec. for codespell.
But the faster indication of syntax errors is worth that.
|
|
We don't preinstall `capnp` in the MSVC image so don't check every
package for now until we do.
|
|
|
|
These come with preinstalled with either Visual C++ Build Tools (MSVC)
or other dependencies, e.g. clang or nettle (GNU).
Installing these dependencies take significant amount of time so let's
only do it once and only run relevant checks in the CI/CD pipeline.
|
|
|
|
- Ingore all target dirs.
- Adapt to new codespell dictionary:
Add keyserver, keypair, dedup, fpr to ingore list.
|
|
|
|
- move codespell job to bullseye
- move valgrind test to bullseye
|