unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Edouard Klein <edk@beaver-labs.com>
To: guix-devel@gnu.org
Subject: A script to check an edit does not break anything
Date: Thu, 11 Jun 2020 17:19:59 +0200	[thread overview]
Message-ID: <87sgf1r5nk.fsf@alice.lan> (raw)

Dear Guixers,

I recently broke jupyter while updating python-prompt-toolkit (a mistake
I'm still trying to fix...) despite doing my best to follow the
instructions of the manual:
https://guix.gnu.org/manual/en/html_node/Packaging-Guidelines.html
https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html#Submitting-Patches

Because of the subtle consequences of editing a package are hard to keep
track of, I wrote the attached script (you need sharness to run it, but
with slight modification it can become a standalone script).

This script goes beyond the instructions of the manual on two fronts:
- First, it not only tries to build the packages, but also to install
them,
- Secondly, it does not limit itself to the dependents (as listed by
guix refresh --list-dependents) of the packages one is meddling with,
but to the whole reverse bags (as listed by guix graph
--type=reverse-bag).

Both these extensions are necessary to discover that my update broke the
jupyter package:
- jupyter builds, so if you don't try to install it you won't discover
it's broken
- the leafs of the dependency graph that depend on jupyter fail to build
for reasons unrelated to python-prompt-toolkit, so by just building the
leafs (which are what is being returned by guix refresh
--list-dependents) you can't discover jupyter's broken status.

I think an update of the manual is in order (I've added it to my own
TODO queue, but I have no idea when I'll be able to get to it) but I
first wanted to share my script in case it may be useful to someone
else, and gather some feedback as to whether other developers have
encountered these kind of errors, and the way seasoned developers make
sure they don't push breaking changes.

Cheers,

Edouard.


             reply	other threads:[~2020-06-11 15:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-11 15:19 Edouard Klein [this message]
2020-06-11 15:41 ` A script to check an edit does not break anything Edouard Klein
2020-06-11 17:55   ` Vincent Legoll
2020-06-12 16:41     ` Edouard Klein
2020-06-13 21:15 ` Ludovic Courtès
2020-06-14 15:27   ` Checking for profile collisions with ‘guix lint’ Ludovic Courtès
2020-06-15  8:50   ` A script to check an edit does not break anything Edouard Klein
2020-06-16 10:01     ` Ludovic Courtès

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sgf1r5nk.fsf@alice.lan \
    --to=edk@beaver-labs.com \
    --cc=guix-devel@gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).