guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: website: Add draft post about the QA frontpage.


From: Christopher Baines
Subject: branch master updated: website: Add draft post about the QA frontpage.
Date: Wed, 12 Jul 2023 07:56:28 -0400

This is an automated email from the git hooks/post-receive script.

cbaines pushed a commit to branch master
in repository guix-artwork.

The following commit(s) were added to refs/heads/master by this push:
     new 84a2206  website: Add draft post about the QA frontpage.
84a2206 is described below

commit 84a2206ac6ed2ea95116f1fc3772bc4c4e4242ee
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Wed Jul 12 12:52:21 2023 +0100

    website: Add draft post about the QA frontpage.
    
    * website/drafts/progress-on-the-qa-frontpage.md: New file.
---
 website/drafts/progress-on-the-qa-frontpage.md | 101 +++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

diff --git a/website/drafts/progress-on-the-qa-frontpage.md 
b/website/drafts/progress-on-the-qa-frontpage.md
new file mode 100644
index 0000000..515b5af
--- /dev/null
+++ b/website/drafts/progress-on-the-qa-frontpage.md
@@ -0,0 +1,101 @@
+title: Progress so far on the Guix Quality Assurance (QA) frontpage
+author: Christopher Baines
+tags: Continuous integration, Quality Assurance
+date: 2023-07-12 16:30:00
+---
+
+Maintaining and adding to Guix's collection of packages can be
+complicated.  As a distribution with around 22,000 packages, spanning
+across around 7 architectures and with support for cross-compilation,
+it's quite common for problems to occur when making changes.
+
+Quality Assurance (QA) is a general term to describe the approach
+taken to try and ensure something meets expectations.  When applied to
+software, the term testing is normally used.  While Guix is software,
+and has tests, much more than those tests are needed to maintain Guix
+as a distribution.
+
+So what might quality mean in the context of Guix as a distribution?
+This will differ from person to person, but these are some common
+concerns:
+
+ - Packages not building
+    - Either now or in the future
+    - Packages building reproducibly
+    - Packages building on or for a specific architecture
+
+ - The packaged software functioning correctly
+
+ - Availability of translations for the package definitions
+
+# Tooling to help with Quality Assurance
+
+There's a range of tools to help maintain Guix.  The [package
+linters](https://guix.gnu.org/en/manual/en/html_node/Invoking-guix-lint.html)
+are a set of simple tools, they cover basic things from the naming of
+packages to more complicated things like the validity of the home-page
+URL and the formatting of the package definition.
+
+The [guix 
weather](https://guix.gnu.org/en/manual/en/html_node/Invoking-guix-weather.html)
+tool looks at substitute availability information and can indicate how
+many substitutes are available for the current Guix and system.  The
+[guix 
challenge](https://guix.gnu.org/en/manual/en/html_node/Invoking-guix-challenge.html)
+tool is similar, but it highlights package reproducibility issues,
+which is when the substitutes and local store items (if available)
+differ.
+
+For translations, [Guix uses
+Weblate](https://guix.gnu.org/manual/en/html_node/Translating-Guix.html)
+which can provide information on how many translations are available.
+
+## The QA Frontpage
+
+Then there's the relatively new Quality Assurance (QA) frontpage, the
+aim of which is to bring together some of the existing Quality
+Assurance related information, as well as new being a good place to do
+additional QA tasks.
+
+The QA frontpage
+[started](https://lists.gnu.org/archive/html/guix-devel/2022-09/msg00054.html)
+as a service to coordinate automated testing for patches, it queries
+the [data service](https://data.qa.guix.gnu.org/) to find out what
+derivations have changed and then submits builds for these derivations
+to the build coordinator behind
+[bordeaux.guix.gnu.org](https://bordeaux.guix.gnu.org/).
+
+A very similar process applies for non-master branches, the QA
+frontpage queries [issues.guix.gnu.org](https://issues.guix.gnu.org/)
+to find out which branch is going to be merged next, then queries the
+data service to find out what derivations have changed and just like
+for patches then submits builds for these changed derivations to the
+bordeaux.guix.gnu.org build coordinator.
+
+For both patches and branches the QA frontpage tries to display
+information about the effects of the changes.  This is a work in
+progress though, and there's much more that the QA frontpage should be
+able to do to provide clearer descriptions of the changes and any
+problems that should be addressed.
+
+# How to get involved?
+
+There's plenty of ways to get involved or contribute to the QA
+frontpage.
+
+If you submit patches to Guix, the QA frontpage will attempt to apply
+the patches and show what's changed. You can click through from
+issues.guix.gnu.org to qa.guix.gnu.org via the QA badge by the status
+of the issue.
+
+From the QA frontpage, you can also view the list of branches which
+includes the requests for merging if they exist.  Similar to the patch
+series, for the branch the QA frontpage can display information about
+the package changes and substitute availability.
+
+There's also plenty of ways to contribute to the QA frontpage and
+connected tools.  You can find some ideas and information on how to
+run the service in the
+[README](https://git.savannah.gnu.org/cgit/guix/qa-frontpage.git/tree/README.org)
+and if you have any questions or patches, please email
+guix-devel@gnu.org.
+
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]