Age | Commit message (Collapse) | Author |
|
- Mark all jobs that are without side effects as interruptible.
- It should make updating commits build faster.
- One notable exception is `docker-build-push` job that is left
untouched.
- See: https://docs.gitlab.com/ee/ci/yaml/#interruptible
|
|
For dind (docker-in-docker) jobs, we want to inherit the storage driver
configuration from the runner itself. This is necessary because storage
backends may be different between docker daemons running on separate
runner hosts.
In the runner config (/etc/gitlab-runner/config.toml) we may set this
environment variable with the "evironment" key.
eg. environment = ["DOCKER_DRIVER=zfs"]
|
|
Switching the job which uses dind (docker-in-docker) to use the AUFS
storage driver due to the underlying filesystem being ZFS.
The default overlay2 driver will not work on ZFS, and thus the job will
fail.
|
|
|
|
|
|
- Adds the backend behind `crypto-openssl` feature.
- Add CI configuration to run tests with the new backend.
- See #333.
|
|
- Use Cargo.toml's rust-version field instead of a rust-toolchain
file. It is more flexible and does not prevent use of newer
compilers.
|
|
- Since 8919c8100f72f6313071bb221550c606a38f3747, only buffered-reader
and openpgp were tested on windows-gnu with nettle. This leaves out
the other crates, especially net and ipc.
- Test the whole workspace in windows-gnu-nettle, so that all crates
are tested on Windows.
|
|
- MSYS2 has gnupg 2.2.36, but the version installed when building the
docker image is still 2.2.35.
- Fixes #873
|
|
|
|
- Remove the workaround that was required to include help output in
docs.
|
|
- It is harmless and quick, should degrade gracefully, and may print
useful information, now or in the future. It shouldn't be
disabled lightly.
|
|
- These tests used to cargo build the source, without running any
tests. I don't see any benefit of doing that.
|
|
|
|
- They already are implicitly dependent on the codespell job because
the codespell job runs in the pre-check phase, and the other jobs
in the build phase.
|
|
- Previously, the one job first tested all (!) Sequoia crates with
the Nettle backend, then tested sequoia-openpgp with the CNG
backend. This is one reason why the job took so long. Split it
up.
- Rename to platform-toolchain-cryptobackend.
- Depend on the main configuration for better short-circuiting.
|
|
- Rename to platform-toolchain-cryptobackend.
- Depend on the main configuration for better short-circuiting.
|
|
|
|
|
|
The exact architecture is armv7-unknown-linux-gnueabihf.
|
|
|
|
- Move common functionality in before_script and after_script code
to separate stanzas.
|
|
- Setting complication flags in .gitlab-ci.yml means that they will
only be used by the CI.
- Instead, set flags in .cargo/config.toml so that compiling locally
will use the same set of lints.
|
|
- 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.
|