summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)Author
2023-01-26CI: Make side-effect-free jobs interruptible.Wiktor Kwapisiewicz
- 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
2023-01-22CI: make docker storage driver implicitDevan Carpenter
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"]
2023-01-19CI: use aufs docker storage driverDevan Carpenter
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.
2023-01-06ci: Use images from our docker registry.Justus Winter
2023-01-06ci: Remove the Arm64 jobs as we don't have such a machine anymore.Justus Winter
2022-12-22openpgp: Add OpenSSL cryptographic backend.Wiktor Kwapisiewicz
- Adds the backend behind `crypto-openssl` feature. - Add CI configuration to run tests with the new backend. - See #333.
2022-10-18Document MSRV in Cargo.toml.Nora Widdecke
- 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.
2022-08-15ci: Test the whole workspace in windows-gnu-nettle.Nora Widdecke
- 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.
2022-08-15ci: Update gnupg in windows-gnu-nettleNora Widdecke
- MSYS2 has gnupg 2.2.36, but the version installed when building the docker image is still 2.2.35. - Fixes #873
2022-08-15ci: Emit meta information for easier debugging.Nora Widdecke
2022-07-20sq: Clean up build.Nora Widdecke
- Remove the workaround that was required to include help output in docs.
2022-06-27ci: Run the after_script in more jobs.Justus Winter
- It is harmless and quick, should degrade gracefully, and may print useful information, now or in the future. It shouldn't be disabled lightly.
2022-06-27ci: Drop the build-* jobs.Justus Winter
- These tests used to cargo build the source, without running any tests. I don't see any benefit of doing that.
2022-06-27ci: Don't run shell fragments using Powershell.Justus Winter
2022-06-27ci: Don't depend on the codespell job.Justus Winter
- 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.
2022-06-27ci: Rename MinGW jobs, pipeline them.Justus Winter
- 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.
2022-06-27ci: Rename MSVC jobs, pipeline them.Justus Winter
- Rename to platform-toolchain-cryptobackend. - Depend on the main configuration for better short-circuiting.
2022-02-24sq,ci: Test all feature combinations.Nora Widdecke
2022-01-28ci: Fix comment on refs trigger.Wiktor Kwapisiewicz
2022-01-27ci: Cross-compile to arm and run via qemu.Justus Winter
The exact architecture is armv7-unknown-linux-gnueabihf.
2022-01-17docker: Build image and push to gitlab registry.Nora Widdecke
2022-01-12ci: DRY out .gitlab-ci.yml.Neal H. Walfield
- Move common functionality in before_script and after_script code to separate stanzas.
2022-01-12ci: Set flags in .cargo/config.toml, not in .gitlab-ci.yml.Neal H. Walfield
- 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.
2021-12-10Remove the ffi crates.Justus Winter
- 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.
2021-11-29Move MSRV to 1.56.1Nora Widdecke
- Rust 1.56.0 is affected by CVE-2021-42574, which is addressed in 1.56.1.
2021-11-25ci: Move from Debian bullseye to bookworm.Nora Widdecke
2021-10-28ci: Use stable compiler for doc job.Nora Widdecke
2021-10-27sq: add scaffolding for an integration/acceptance test suiteLars Wirzenius
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.
2021-10-14Add clippy to CILars Wirzenius
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.
2021-10-11ci: Use correct keyword for expressing job DAG.Nora Widdecke
2021-10-11ci: Test building documentation in CI.Nora Widdecke
2021-10-05openpgp: Add a RustCrypto backend.Nikhil Benesch
- 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.
2021-09-28openpgp: Add example that prints the supported algorithms.Justus Winter
- Also run this example in the CI so that we can see what algorithms are supported by which backend.
2021-08-27ci: Fix scheduled builds.Nora Widdecke
- Actually include the long-running jobs in schedules. The keyword is "schedules", not "scheduled". - Fixes #709.
2021-08-16ci: Use rust 1.54.0 on 32-bit windows.Nora Widdecke
2021-08-16ci: Use cross-compilation for 32-bit windows.Nora Widdecke
- 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.
2021-07-09sqv: Move to https://gitlab.com/sequoia-pgp/sequoia-sqvNora Widdecke
- From this point on, the crate sequoia-sqv will be maintained in its own repository.
2021-06-28ci: Mark arm64 jobs manual.Nora Widdecke
This should be reverted once the arm64 runners are up again.
2021-06-10ci: Disable arm64 jobs for forks.Nora Widdecke
2021-04-27ci: Run tests on 32-bit MSVC windows.Nora Widdecke
- Build the tests as 32-bit windows binaries. - Uses the stable-i686-pc-windows-msvc toolchain.
2021-04-22make: Hide Makefile to avoid confusion.Jonas Bernoulli
- 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.
2021-04-20ci: Use current stable rust version.Nora Widdecke
2021-04-13bench, ci: Add benchmarking CI job.Nora Widdecke
- 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.
2021-04-07ci: Don't run all_commits:arm64 for each push.Nora Widdecke
2021-04-06ci: Do not run bullseye:arm64 for every push.Nora Widdecke
2021-04-06ci: Run codespell only once.Nora Widdecke
2021-04-06ci: Do not use valgrind on ARM 64.Nora Widdecke
2021-04-06CI: apply arm64 job dependency graphDevan Carpenter
arm64 jobs should not wait on x86 jobs, and vice-versa. this also adds a couple of missing runner tags.
2021-04-06CI: add arm64 linux jobsDevan Carpenter
Duplicate the linux jobs in the CI manifest, but make them pull the arm64 docker images, and use the arm64 runner.
2021-03-10ci: prefer --workspace flagEli Flanagan
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.