summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)Author
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.
2021-03-09ci: Disable windows jobs for forks.Nora Widdecke
2021-02-09ci: Use make test instead of cargo test.Nora Widdecke
2021-02-09ci: Use prebuild rust-stable image.Azul
- It comes with preinstalled debian packages and /target.
2021-02-09ci: Split bullseye, valgrind and build-bullseye jobsAzul
2021-02-09ci: use bullseye image with prebuild dependenciesAzul
2021-01-27ci: Leave out last commit in all_commits.Azul
- 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.
2021-01-19sqv: Generate usage documentation in build script.Justus Winter
- 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.
2021-01-19sq: Generate usage documentation in build script.Justus Winter
- 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.
2020-12-22Fix the all_commits CI job.Neal H. Walfield
- We renamed master to main. - Change all_commits to check all commits since main, not master.
2020-12-04Revert "ci: Temporarily drop all Windows builders."Justus Winter
This reverts commit 327a987e2c95ea9d05fcadd6fa7a8c249372affd.
2020-11-05ci: Temporarily drop all Windows builders.Wiktor Kwapisiewicz
2020-10-14ci: Do not run all_commits for pep-engine branch.Nora Widdecke
- The `pep-engine` branch only gets merge commits from master, checking all commits on top of master does not make sense here.
2020-10-14sq: Rename module to 'sequoia-sq'.Justus Winter
2020-10-12ci: Test that we can build ffi/openpgp-ffi with CNG backend enabledIgor Matuszewski
2020-10-09ci: Run openpgp tests for each commit.Nora Widdecke
- 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.
2020-10-09ci: fail fast if codespell failsAzul
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.
2020-10-05ci: Don't check every package under Windows MSVC imageIgor Matuszewski
We don't preinstall `capnp` in the MSVC image so don't check every package for now until we do.
2020-10-04ci: Format .gitlab-ci.ymlIgor Matuszewski
2020-10-04ci: Use our pre-built docker images for testing WindowsIgor Matuszewski
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.
2020-09-21ci: Use Rust 1.46.0 on windows.Nora Widdecke
2020-09-21ci: Extract codespell job.Nora Widdecke
- Ingore all target dirs. - Adapt to new codespell dictionary: Add keyserver, keypair, dedup, fpr to ingore list.
2020-09-21ci: Enable valgrind test on bullseye.Nora Widdecke
2020-09-21ci: Remove buster runner.Nora Widdecke
- move codespell job to bullseye - move valgrind test to bullseye