From: Leo Famulari <leo@famulari.name>
To: Sharlatan Hellseher <sharlatanus@gmail.com>
Cc: 53533@debbugs.gnu.org
Subject: bug#53533: [DISCUSSION] Quality of services in reproducible build environment Guix
Date: Tue, 25 Jan 2022 21:51:51 -0500 [thread overview]
Message-ID: <YfC3R6N/XceIVYzr@jasmine.lan> (raw)
In-Reply-To: <CAO+9K5pGe42hO=AZ=WPy3nEe1xYhT4uA4weZr3pbBw5nQATE3w@mail.gmail.com>
On Tue, Jan 25, 2022 at 08:45:22PM +0000, Sharlatan Hellseher wrote:
> The current QA for the accepted changes in Gujx is far away from
> trustible. For example, some
> changes in package update may cause a faileur of the whole chain of
> packages depending on it. It
> would be nice to have some soft policy of changes, check list or some
> procedure to have a "stable"
> branch which may guarantee all packages build successfully and pass of
> all enabled tests.
People are definitely supposed to check that their changes don't break
things before they push them, but it doesn't always happen.
It's not easy to make sure that all packages build successfully. I've
never seen 100% of packages build successfully since I joined Guix in
2015. It's a nice goal but it requires some work... a lot more work.
Everyone is invited to help. Probably, the first step is to remove
several hundred packages that don't build; it might even be a couple
thousand.
> I would like to conclude from the CI is which commit broke how many
> packages.
Agreed, this is a very important missing feature. Also, we need the
capability to compare commits in terms of CI results.
Our CI software is called Cuirass:
https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git
We need more people to help develop Cuirass!
> Some missing practice of packaging:
> - Some essential message of the reason why tests were disabled and any
> sort of suggestions on how to
> make them enabled. Contact upstream if required.
Everyone is supposed to do this when writing packages. It's a failure of
the code review process if that is not happening.
> - Before sending patch make sure (at least for the localhost
> architecture) it's built, linted and in
> case of bumping version - all dependent chain still can be built.
This is supposed to be done for patches that go to the master branch.
That is, patches that affect <300 packages. Other patches that affect
more than 300 packages are batched on development branches such as
'core-updates' [0], and then we need a lot of Guix contributors to help
get all the packages building again. Maybe we should remove broken
packages more casually, like I suggested above.
> Excess changes which could be prevented with just local attempt to build
> #+begin_src sh
> git log --grep="Fix build" --pretty="%h %s %cd - %cn" | wc -l
> #+end_src
> : 1025
We have 92225 commits total:
------
$ git log --oneline | wc -l
92225
------
So, about 1.1% of them are "Fix build" commits.
However, not all of these commits were made on the master branch. Many
of them are on development branches such as 'core-updates' and
'staging', and so users never experienced the problems that were fixed.
That doesn't mean that Guix QA is perfect, but rather that your
measurement is inaccurate and misleading.
[0] To learn more about development branches like core-updates, see
item 8:
https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html
next prev parent reply other threads:[~2022-01-26 2:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-25 20:45 bug#53533: [DISCUSSION] Quality of services in reproducible build environment Guix Sharlatan Hellseher
2022-01-26 2:36 ` Leo Famulari
2022-01-26 2:51 ` Leo Famulari [this message]
2022-01-26 10:18 ` zimoun
2024-02-08 18:21 ` Sharlatan Hellseher
2024-06-24 21:31 ` Sharlatan Hellseher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YfC3R6N/XceIVYzr@jasmine.lan \
--to=leo@famulari.name \
--cc=53533@debbugs.gnu.org \
--cc=sharlatanus@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.