[librsvg: 4/6] ci.rst: Describe the various build/test stages
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 4/6] ci.rst: Describe the various build/test stages
- Date: Tue, 13 Sep 2022 02:14:14 +0000 (UTC)
commit 189d5be5d230d20b9ffaff141dbb6077153dd90c
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Sep 12 20:30:14 2022 -0500
ci.rst: Describe the various build/test stages
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/746>
devel-docs/ci.rst | 50 +++++++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 21 deletions(-)
---
diff --git a/devel-docs/ci.rst b/devel-docs/ci.rst
index 98788cde1..6f9f3628d 100644
--- a/devel-docs/ci.rst
+++ b/devel-docs/ci.rst
@@ -69,37 +69,45 @@ Librsvg uses CI templates to test its various build configurations.
The container images are stored here:
https://gitlab.gnome.org/GNOME/librsvg/container_registry
-What sort of environments for building are produced by this step?
+See the section below on the "Full test suite and different
+environments" for details on what gets tested on the different
+container images produced by this stage.
-- Build with a certain Minimum Supported Rust Version (MSRV), also a
- relatively recent stable Rust, and Rust nightly. Building with the
- MSRV is to help distros that don't update Rust super regularly, and
- also to ensure that librsvg's dependencies do not suddently start
- depending on a too-recent Rust version, for example. Building on
- nightly is hopefully to catch compiler bugs early, or to get an
- early warning when the Rust compiler is about to introduce newer
- lints/warnings.
-
-- Build on a couple of distros. Librsvg's test suite is especially
- sensitive to changes in rendering from Cairo, Pixman, and the
- Pango/Freetype2/Harfbuzz stack. Building on a few distros gives us
- slightly different versions of those dependencies, so that we can
- catch breakage early.
-
-- There is an environment for doing a "full build and test", that runs
- the whole test suite, and tests all the artifacts produced by the
- build. This environment also has all the tools for generating
- documentation, or producing a test coverage report. As of
- 2022/Sept/12 this is the ``opensuse-container@x86_64.stable`` image.
Quick checks
------------
+`cargo check` and `cargo test` run relatively quickly, and can catch
+trivial compilation problems as well as breakage in the "fast" section
+of the test suite. When trying out things in a branch or a merge
+request, you can generally look at only these two jobs for a fast
+feedback loop.
Full test suite and different environments
------------------------------------------
+- The "full test suite" in principle runs `autogen.sh && make check`.
+ This runs the "fast" portion of the test suite, but also a few slow
+ tests which are designed to test librsvg's built-in limits. It also
+ runs the C API tests, which require a C compiler.
+
+- There are builds use a certain Minimum Supported Rust Version
+ (MSRV), also a relatively recent stable Rust, and Rust nightly.
+ Building with the MSRV is to help distros that don't update Rust
+ super regularly, and also to ensure that librsvg's dependencies do
+ not suddently start depending on a too-recent Rust version, for
+ example. Building on nightly is hopefully to catch compiler bugs
+ early, or to get an early warning when the Rust compiler is about to
+ introduce newer lints/warnings.
+
+- Build on a couple of distros. Librsvg's test suite is especially
+ sensitive to changes in rendering from Cairo, Pixman, and the
+ Pango/Freetype2/Harfbuzz stack. Building on a few distros gives us
+ slightly different versions of those dependencies, so that we can
+ catch breakage early.
+
+
Lints and formatting
--------------------
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]