unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Proposed changes to the commit policy (#59513)
@ 2022-12-13 14:10 Christopher Baines
  2023-01-16 21:47 ` Christopher Baines
  0 siblings, 1 reply; 16+ messages in thread
From: Christopher Baines @ 2022-12-13 14:10 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 446 bytes --]

Hey!

A few weeks back, I sent a patch with some changes to the commit policy [1]:

  https://issues.guix.gnu.org/59513

There's already been some feedback and revisions which is great. The
policy also suggests guix-devel as a place for discussions regarding the
policy, hence I'm sending this email in case it's useful to anyone
interested.

Thanks,

Chris


1: https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2022-12-13 14:10 Proposed changes to the commit policy (#59513) Christopher Baines
@ 2023-01-16 21:47 ` Christopher Baines
  2023-01-17 16:35   ` Ludovic Courtès
  2023-01-18 11:23   ` Andreas Enge
  0 siblings, 2 replies; 16+ messages in thread
From: Christopher Baines @ 2023-01-16 21:47 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 651 bytes --]


Christopher Baines <mail@cbaines.net> writes:

> A few weeks back, I sent a patch with some changes to the commit policy [1]:
>
>   https://issues.guix.gnu.org/59513
>
> There's already been some feedback and revisions which is great. The
> policy also suggests guix-devel as a place for discussions regarding the
> policy, hence I'm sending this email in case it's useful to anyone
> interested.

I merged the changes a few days ago, so this is just a quick message to
say that the commit policy has changed. You can read the updated policy
here:

  https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-16 21:47 ` Christopher Baines
@ 2023-01-17 16:35   ` Ludovic Courtès
  2023-01-18 11:23   ` Andreas Enge
  1 sibling, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2023-01-17 16:35 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel

Hello,

Christopher Baines <mail@cbaines.net> skribis:

> I merged the changes a few days ago, so this is just a quick message to
> say that the commit policy has changed. You can read the updated policy
> here:
>
>   https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy

Nice, thanks for pushing this forward!

Ludo’.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-16 21:47 ` Christopher Baines
  2023-01-17 16:35   ` Ludovic Courtès
@ 2023-01-18 11:23   ` Andreas Enge
  2023-01-18 11:45     ` Christopher Baines
  2023-01-20 11:50     ` Simon Tournier
  1 sibling, 2 replies; 16+ messages in thread
From: Andreas Enge @ 2023-01-18 11:23 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel

Hello,

Am Mon, Jan 16, 2023 at 09:47:06PM +0000 schrieb Christopher Baines:
> I merged the changes a few days ago, so this is just a quick message to
> say that the commit policy has changed. You can read the updated policy
> here:
>   https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy

as a quick concrete question: Do simple package updates still count as
trivial, or do they need to go through the patches mailing list?
I intended to update pari-gp from 2.15.1 to 2.15.2, as usual by checking
that all dependent packages still compile. Having to fiddle with debbugs
is somewhat deterring (although admittedly having qa compile all dependent
packages is also a service in a context where I do not expect problems).

In case the answer is that submitting to the patch tracker is required,
I would suggest to shorten the waiting period from one week to zero
(meaning that it is okay to push when there are no problems detected by qa,
without having to wait for human review that has no reason to occur).

I would also like to update mpfr and mpc in core-updates. The documentation
mentions the different branches under Step 9:
   https://guix.gnu.org/en/manual/devel/en/html_node/Submitting-Patches.html
but how is this specified in the email to the patch tracker,
so that qa applies the patch to the correct branch?

Thanks for your help,

Andreas



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-18 11:23   ` Andreas Enge
@ 2023-01-18 11:45     ` Christopher Baines
  2023-01-18 16:54       ` Kaelyn
  2023-01-22 17:18       ` Andreas Enge
  2023-01-20 11:50     ` Simon Tournier
  1 sibling, 2 replies; 16+ messages in thread
From: Christopher Baines @ 2023-01-18 11:45 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2902 bytes --]


Andreas Enge <andreas@enge.fr> writes:

> Hello,
>
> Am Mon, Jan 16, 2023 at 09:47:06PM +0000 schrieb Christopher Baines:
>> I merged the changes a few days ago, so this is just a quick message to
>> say that the commit policy has changed. You can read the updated policy
>> here:
>>   https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy
>
> as a quick concrete question: Do simple package updates still count as
> trivial, or do they need to go through the patches mailing list?
> I intended to update pari-gp from 2.15.1 to 2.15.2, as usual by checking
> that all dependent packages still compile. Having to fiddle with debbugs
> is somewhat deterring (although admittedly having qa compile all dependent
> packages is also a service in a context where I do not expect problems).

My feeling on this is that "simple" package updates are often not
trivial, or at least doing rigorous testing for these updates isn't
trivial. A definition of trivial might be "having little value or
importance", and I don't think that's generally the case for version
updates, they're often a valuable and important change.

That's not to say that the policy doesn't allow for pushing the pari-gp
update directly to the master branch. I think the wiggle room in the
policy is given by the "should" instruction regarding posting to
guix-patches@gnu.org and the "This is subject to being adjusted,
allowing individuals to commit directly on non-controversial changes on
parts they’re familiar with." bit.

As you say, my hope is that having parts of the quality assurance
testing automated, e.g. compiling the updated version of para-gp and
affected packages on supported architectures will be something people
want to use, rather than feeling forced to.

> In case the answer is that submitting to the patch tracker is required,
> I would suggest to shorten the waiting period from one week to zero
> (meaning that it is okay to push when there are no problems detected by qa,
> without having to wait for human review that has no reason to occur).

That seems reasonable to me, at least in the case of package
updates. Given that's such a common change, maybe that needs handling
specifically in the commit policy.

> I would also like to update mpfr and mpc in core-updates. The documentation
> mentions the different branches under Step 9:
>    https://guix.gnu.org/en/manual/devel/en/html_node/Submitting-Patches.html
> but how is this specified in the email to the patch tracker,
> so that qa applies the patch to the correct branch?

That's not something that's attempted yet, all patches are just applied
to master. Maybe setting out the subject like this [1] could indicate
the intended branch? I'm not sure what flags to pass to git
format-patch/send-email to achieve that though.

1: https://issues.guix.gnu.org/55227

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-18 11:45     ` Christopher Baines
@ 2023-01-18 16:54       ` Kaelyn
  2023-01-22 17:18       ` Andreas Enge
  1 sibling, 0 replies; 16+ messages in thread
From: Kaelyn @ 2023-01-18 16:54 UTC (permalink / raw)
  To: guix-devel

------- Original Message -------
On Wednesday, January 18th, 2023 at 11:45 AM, Christopher Baines <mail@cbaines.net> wrote:
> 
> Andreas Enge andreas@enge.fr writes:
> 
> > Hello,
> > 
> > Am Mon, Jan 16, 2023 at 09:47:06PM +0000 schrieb Christopher Baines:
> > 
> > > I merged the changes a few days ago, so this is just a quick message to
> > > say that the commit policy has changed. You can read the updated policy
> > > here:
> > > https://guix.gnu.org/en/manual/devel/en/html_node/Commit-Access.html#Commit-Policy
> > 
> > as a quick concrete question: Do simple package updates still count as
> > trivial, or do they need to go through the patches mailing list?
> > I intended to update pari-gp from 2.15.1 to 2.15.2, as usual by checking
> > that all dependent packages still compile. Having to fiddle with debbugs
> > is somewhat deterring (although admittedly having qa compile all dependent
> > packages is also a service in a context where I do not expect problems).
> 
> 
> My feeling on this is that "simple" package updates are often not
> trivial, or at least doing rigorous testing for these updates isn't
> trivial. A definition of trivial might be "having little value or
> importance", and I don't think that's generally the case for version
> updates, they're often a valuable and important change.
> 
> That's not to say that the policy doesn't allow for pushing the pari-gp
> update directly to the master branch. I think the wiggle room in the
> policy is given by the "should" instruction regarding posting to
> guix-patches@gnu.org and the "This is subject to being adjusted,
> allowing individuals to commit directly on non-controversial changes on
> parts they’re familiar with." bit.
> 
> As you say, my hope is that having parts of the quality assurance
> testing automated, e.g. compiling the updated version of para-gp and
> affected packages on supported architectures will be something people
> want to use, rather than feeling forced to.
> 
> > In case the answer is that submitting to the patch tracker is required,
> > I would suggest to shorten the waiting period from one week to zero
> > (meaning that it is okay to push when there are no problems detected by qa,
> > without having to wait for human review that has no reason to occur).
> 
> 
> That seems reasonable to me, at least in the case of package
> updates. Given that's such a common change, maybe that needs handling
> specifically in the commit policy.
> 
> > I would also like to update mpfr and mpc in core-updates. The documentation
> > mentions the different branches under Step 9:
> > https://guix.gnu.org/en/manual/devel/en/html_node/Submitting-Patches.html
> > but how is this specified in the email to the patch tracker,
> > so that qa applies the patch to the correct branch?
> 
> 
> That's not something that's attempted yet, all patches are just applied
> to master. Maybe setting out the subject like this [1] could indicate
> the intended branch? I'm not sure what flags to pass to git
> format-patch/send-email to achieve that though.

On a side note, I'd recently discovered the flag to pass. To have a subject prefix like "[PATCH core-updates]" (as mentioned in the manual for staging and core-updates patches) instead of the default "[PATCH]", one can pass "--subject-prefix="PATCH core-updates" to git format-patch.

Cheers,
Kaelyn

> 
> 1: https://issues.guix.gnu.org/55227


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-18 11:23   ` Andreas Enge
  2023-01-18 11:45     ` Christopher Baines
@ 2023-01-20 11:50     ` Simon Tournier
  1 sibling, 0 replies; 16+ messages in thread
From: Simon Tournier @ 2023-01-20 11:50 UTC (permalink / raw)
  To: Andreas Enge, Christopher Baines; +Cc: guix-devel

Hi Andreas,

On mer., 18 janv. 2023 at 12:23, Andreas Enge <andreas@enge.fr> wrote:

> as a quick concrete question: Do simple package updates still count as
> trivial, or do they need to go through the patches mailing list?
> I intended to update pari-gp from 2.15.1 to 2.15.2, as usual by checking
> that all dependent packages still compile. Having to fiddle with debbugs
> is somewhat deterring (although admittedly having qa compile all dependent
> packages is also a service in a context where I do not expect problems).

In addition to Chris words. :-)

From my point of view, the first question is if the package is a leaf or
not. :-)

Well, the main point, IMHO, of the policy (suggesting to go via
guix-patches) is to have an overview provided by qa.guix.gnu.org about
the status of all the dependents.

Being able to find all the dependents can be tricky; ’guix refresh -l’
is not always accurate because it misses some inheritance.  Consider the
case:

The package B is dependent of the package A.
The package C inherits from the package B.

Then, “guix refresh -l A“ will list only B and not C.  Although, a
change in the package A implies the rebuild of the package C.

Well, for a concrete example, please give a look at [1].  A “trivial”
and apparently inoffensive update of the package ’git’ from 2.38.0 to
2.38.1 breaks some Julia packages.  And, “guix refresh -l git” does not
mention these Julia packages.  The package ’git-minimal’ inherits from
’git’ and some Julia packages depends on ’git-minimal’.

1: <http://issues.guix.gnu.org/msgid/86wn7kd0m9.fsf@gmail.com>


All in all, going via guix-patches and let the build farm builds and
reports is a good way for avoiding potential breakages.


> but how is this specified in the email to the patch tracker,
> so that qa applies the patch to the correct branch?

I do not think the project has the resources to continuously build
core-updates.  That’s one of the points with core-updates: the
collateral effects of some patches in core-updates are only know “later“
– roughly speaking when it is decided to merge core-updates; I mean, the
current state of core-updates is highly variable and depends on many
factors (the type of patches, the number of people taking care of that
branch, etc.).


Cheers,
simon




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-18 11:45     ` Christopher Baines
  2023-01-18 16:54       ` Kaelyn
@ 2023-01-22 17:18       ` Andreas Enge
  2023-01-23  9:24         ` Simon Tournier
  2023-01-30 22:03         ` Proposed changes to the commit policy (#59513) Christopher Baines
  1 sibling, 2 replies; 16+ messages in thread
From: Andreas Enge @ 2023-01-22 17:18 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel

Am Wed, Jan 18, 2023 at 11:45:20AM +0000 schrieb Christopher Baines:
> > as a quick concrete question: Do simple package updates still count as
> > trivial, or do they need to go through the patches mailing list?
> My feeling on this is that "simple" package updates are often not
> trivial, or at least doing rigorous testing for these updates isn't
> trivial. A definition of trivial might be "having little value or
> importance", and I don't think that's generally the case for version
> updates, they're often a valuable and important change.

So I tried it once, and find the hassle offputting. It feels like doubling
the effort - after doing the real work, I need to get back to it a week
later and more or less go through the motions again (rebase the commit
and resign it, recompile Guix, build the package again just in case),
plus the debbugs effort.

So expect even less package updates from my part in the future... These
were the kind of instant gratification actions one could do more or less
in the background, and they have become more complex administrative
endeavours with delayed gratification. (I also do not know how to set up
git-sendmail with my remote SMTP server login and password, but this is
a one-time cost of learning which does not matter that much.)

> > In case the answer is that submitting to the patch tracker is required,
> > I would suggest to shorten the waiting period from one week to zero
> > (meaning that it is okay to push when there are no problems detected by qa,
> > without having to wait for human review that has no reason to occur).
> That seems reasonable to me, at least in the case of package
> updates. Given that's such a common change, maybe that needs handling
> specifically in the commit policy.

It would be nice to add this, yes.

Am Wed, Jan 18, 2023 at 04:54:58PM +0000 schrieb Kaelyn:
> On a side note, I'd recently discovered the flag to pass. To have a subject prefix like "[PATCH core-updates]" (as mentioned in the manual for staging and core-updates patches) instead of the default "[PATCH]", one can pass "--subject-prefix="PATCH core-updates" to git format-patch.

This sounds like it could be a useful addition to the QA process.

Andreas



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-22 17:18       ` Andreas Enge
@ 2023-01-23  9:24         ` Simon Tournier
  2023-01-24  9:07           ` Attila Lendvai
  2023-01-25 15:03           ` Proposed changes to the commit policy Andreas Enge
  2023-01-30 22:03         ` Proposed changes to the commit policy (#59513) Christopher Baines
  1 sibling, 2 replies; 16+ messages in thread
From: Simon Tournier @ 2023-01-23  9:24 UTC (permalink / raw)
  To: Andreas Enge, Christopher Baines; +Cc: guix-devel

Hi Andreas,

On Sun, 22 Jan 2023 at 18:18, Andreas Enge <andreas@enge.fr> wrote:

> So I tried it once, and find the hassle offputting. It feels like doubling
> the effort - after doing the real work, I need to get back to it a week
> later and more or less go through the motions again (rebase the commit
> and resign it, recompile Guix, build the package again just in case),
> plus the debbugs effort.

As mentioned here [1], it was possible to see the result of the QA for
this patch here:

    https://qa.guix.gnu.org/issue/60931

where the patch has been built on several architectures and all the
dependants too.  Now, because the patch had been pushed, this result is
not visible anymore. :-)

1: <http://issues.guix.gnu.org/msgid/864jsi1rkg.fsf@gmail.com>


That’s said, the patch had been built for all architectures and all the
dependants too, “guix lint” is applied systematically, etc.

For example, “guix lint” currently allows to be sure that the package is
archived in Software Heritage; maybe this will change in the future.

For what it is worth, I barely build for all the architectures the
patches I submit.  And I do not systematically rebuild all the
dependants because sometimes I “feel confident” it is a “trivial” change
that does not deserve such rebuild.  For sure, I do not remember rebuild
all the dependants for all the architectures.


Well, between the lines, are you suggesting that it is broken by design? :-)

Other said, it would not be possible to have the dashboard [2] all
green, right?  Because the QA provides some green lights for a state but
then you push to another state where the lights are unknown.

2: <http://ci.guix.gnu.org/eval/134159/dashboard>


> So expect even less package updates from my part in the future... These
> were the kind of instant gratification actions one could do more or less
> in the background, and they have become more complex administrative
> endeavours with delayed gratification.

While I understand this “extra“ work is a burden, what would you suggest
to reduce the number of broken packages?  Because all the red circles in
the dashboard [2] is a strong issue, IMHO.

When using Debian, I cross the fingers each time I run ‘apt upgrade’.
Using Guix, I cross the fingers each time I run ‘guix pull’.  Surprise,
surprise. :-)  Sometimes, the package that worked still works, sometimes
not.

This kind of example [3]:

        Well, for a concrete example, please give a look at [0].  A “trivial”
        and apparently inoffensive update of the package ’git’ from 2.38.0 to
        2.38.1 breaks some Julia packages.  And, “guix refresh -l git” does not
        mention these Julia packages.  The package ’git-minimal’ inherits from
        ’git’ and some Julia packages depends on ’git-minimal’.

        0: <http://issues.guix.gnu.org/msgid/86wn7kd0m9.fsf@gmail.com>

happens more than often.  Give a look at the dashboard. ;-) Obviously,
no blame. :-) Moreover, the complexity of all the parameters is not
tractable only by manual actions, IMHO.

At work, the feedback I often get is: Guix is not enough stable to daily
work and users cannot spend time to investigate if they are doing
something wrong or if it is broken.  People are fix again and again
something unrelated to their current task just because they did “guix
pull” (for having some new packages, some security fixes, etc.).

To avoid misunderstanding, I daily work with Guix and I am happy. :-)

Well, as I also wrote earlier [3]. :-) « We – from core developers to
user just wanting the things done – are all pulling the same branch.
This branch cannot satisfy in the same time all the constraints; is the
current push/pull branch model satisfying the best optimum with the
resource and tools at hand? »

Maybe the current full rolling-release applied to functional package
management does not scale well?

3: <https://yhetil.org/guix/86tu8xdlbw.fsf@gmail.com>


> Am Wed, Jan 18, 2023 at 04:54:58PM +0000 schrieb Kaelyn:
>> On a side note, I'd recently discovered the flag to pass. To have a
>>subject prefix like "[PATCH core-updates]" (as mentioned in the manual
>>for staging and core-updates patches) instead of the default "[PATCH]",
>>one can pass "--subject-prefix="PATCH core-updates" to git
>>format-patch. 
>
> This sounds like it could be a useful addition to the QA process.

To my knowledge, it is not possible to continuously build core-updates
because the project does not have enough resource (both human power and
machine power).

Or do you mean mentioning this option of git-format-patch under point #9
of «Submitting Patches» [4]?  Because this option is already in the
manual under «Sending a Patch Series» section:

     Tip: To add a prefix to the subject of your patch, you may use the
     ‘--subject-prefix’ option.  The Guix project uses this to specify
     that the patch is intended for a branch or repository other than
     the ‘master’ branch of
     <https://git.savannah.gnu.org/cgit/guix.git>.

          git send-email -1 -a --base=auto \
              --subject-prefix='PATCH core-updates' \
              --to=guix-patches@gnu.org

4: <https://guix.gnu.org/manual/devel/en/guix.html#Submitting-Patches>


Cheers,
simon


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-23  9:24         ` Simon Tournier
@ 2023-01-24  9:07           ` Attila Lendvai
  2023-01-25 15:03           ` Proposed changes to the commit policy Andreas Enge
  1 sibling, 0 replies; 16+ messages in thread
From: Attila Lendvai @ 2023-01-24  9:07 UTC (permalink / raw)
  To: Simon Tournier; +Cc: Andreas Enge, Christopher Baines, guix-devel

> While I understand this “extra“ work is a burden, what would you suggest
> to reduce the number of broken packages? Because all the red circles in
> the dashboard [2] is a strong issue, IMHO.


some random 0.02 follows from a non-committer. i don't think this would be a lot of extra burden, but i'm not sure how this scales up to several committers.

with that in mind:

besides the `master` branch, i would introduce a number of consequtive branches called `staging1`..`staging4`.

the more "problematic" a commit is, the deeper it should land in the stack of the staging branches.

commits are "promoted" stage-by-stage from staging4 towards master. the deeper we are in the stack, the less frequently it happens, and in larger batches. a major releases means promoting staging4 all the way up to master.

master is manually fast-forwarded to `staging1` every few days/hours, after checking the CI. this should be done by a dedicated person/role/group.

when master is updated, then an immediate attempt should also be made to rebase the staging branches on top of the new master. when this rebasing requires substantial effort, then it should be abandoned, and whoever is responsible for the problematic commits should do the rebasing.

all the branches are built automatically by the CI, but there's a strict priority: e.g. `staging2` is only built when `staging1` has finished building, or when manually requested by a maintainer.

the staging branches may be force-pushed, but the closer they are to master, the less haphazardly it should happen. when a committer sees that a history-rewrite is in order, they should drop a mail to the committer mailing list informing the others, and a "done" reply when finished (this would work better on a communication channel where deleting not-anymore-relevant messages is possible).

---------

further details:

LTS (Long Term Support): depending on the available human resources, when a major release is made, a branch (and a channel) could be opened for that release. this branch would receive backported fixes on a best effort basis. users, who want to delay dealing with the API changes introduced by the major release, may decide to stick to this channel for a while.

in the new setup master is always fully covered by the substitute servers. in the current setup i often find myself locally building large packages like chromium, which is a regular headache to me as a user.

compared to the current setup, `staging1` would be a new branch; rename `staging` -> `staging2`; `core-updates` -> `staging3`. API changes should land in `staging4`, waiting there until a major release.

this naming scheme is more intuitive for newcomers, but it might also be more error prone in everyday routine work.

HTH,

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“To be human is not a fact, but a task.”
	— Søren Kierkegaard (1813–1855), paraphrased



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy
  2023-01-23  9:24         ` Simon Tournier
  2023-01-24  9:07           ` Attila Lendvai
@ 2023-01-25 15:03           ` Andreas Enge
  2023-01-30 21:40             ` Ludovic Courtès
  1 sibling, 1 reply; 16+ messages in thread
From: Andreas Enge @ 2023-01-25 15:03 UTC (permalink / raw)
  To: Simon Tournier; +Cc: Christopher Baines, guix-devel

Hello,

Am Mon, Jan 23, 2023 at 10:24:56AM +0100 schrieb Simon Tournier:
> > Am Wed, Jan 18, 2023 at 04:54:58PM +0000 schrieb Kaelyn:
> >> On a side note, I'd recently discovered the flag to pass. To have a
> >>subject prefix like "[PATCH core-updates]" (as mentioned in the manual
> >>for staging and core-updates patches) instead of the default "[PATCH]",
> >>one can pass "--subject-prefix="PATCH core-updates" to git
> >>format-patch. 
> > This sounds like it could be a useful addition to the QA process.
> To my knowledge, it is not possible to continuously build core-updates
> because the project does not have enough resource (both human power and
> machine power).

ah right, that is unfortunate.

> Or do you mean mentioning this option of git-format-patch under point #9
> of «Submitting Patches» [4]?  Because this option is already in the
> manual under «Sending a Patch Series» section:
> 
>      Tip: To add a prefix to the subject of your patch, you may use the
>      ‘--subject-prefix’ option.  The Guix project uses this to specify
>      that the patch is intended for a branch or repository other than
>      the ‘master’ branch of
>      <https://git.savannah.gnu.org/cgit/guix.git>.
> 
>           git send-email -1 -a --base=auto \
>               --subject-prefix='PATCH core-updates' \
>               --to=guix-patches@gnu.org

Okay, I did not notice this; so if this is already implemented, even better!

On the other subject, I just updated mpfr and mpc on core-updates, and hope
that everything will build (with reason, the changes to these projects are
rather conservative in general).

Andreas



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy
  2023-01-25 15:03           ` Proposed changes to the commit policy Andreas Enge
@ 2023-01-30 21:40             ` Ludovic Courtès
  2023-02-13 11:41               ` Efraim Flashner
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2023-01-30 21:40 UTC (permalink / raw)
  To: Andreas Enge; +Cc: Simon Tournier, Christopher Baines, guix-devel

Hi!

My 2¢ on this…  As a committer & reviewer, I love that I can just go to
<https://qa.guix.gnu.org/patches>, pick one of the patch series with a
green tick, and have the assurance that the resource-intensive work is
already done.  That makes a big difference!

As someone who submits patches, I realize the delay can be off-putting.
For the hwloc upgrade I recently submitted, I got valuable feedback
pointing at actual issues, but that was about a week later.  Then I had
to switch contexts again to adjust the patch accordingly.

I guess that, to a large extent, that’s scheduling and resource issue.

Happy to discuss that in the coming days in Brussels!

Ludo’.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-22 17:18       ` Andreas Enge
  2023-01-23  9:24         ` Simon Tournier
@ 2023-01-30 22:03         ` Christopher Baines
  2023-01-31 11:00           ` Simon Tournier
  2023-02-01 13:09           ` Andreas Enge
  1 sibling, 2 replies; 16+ messages in thread
From: Christopher Baines @ 2023-01-30 22:03 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2259 bytes --]


Andreas Enge <andreas@enge.fr> writes:

> Am Wed, Jan 18, 2023 at 11:45:20AM +0000 schrieb Christopher Baines:
>> > as a quick concrete question: Do simple package updates still count as
>> > trivial, or do they need to go through the patches mailing list?
>> My feeling on this is that "simple" package updates are often not
>> trivial, or at least doing rigorous testing for these updates isn't
>> trivial. A definition of trivial might be "having little value or
>> importance", and I don't think that's generally the case for version
>> updates, they're often a valuable and important change.
>
> So I tried it once, and find the hassle offputting. It feels like doubling
> the effort - after doing the real work, I need to get back to it a week
> later and more or less go through the motions again (rebase the commit
> and resign it, recompile Guix, build the package again just in case),
> plus the debbugs effort.
>
> So expect even less package updates from my part in the future... These
> were the kind of instant gratification actions one could do more or less
> in the background, and they have become more complex administrative
> endeavours with delayed gratification. (I also do not know how to set up
> git-sendmail with my remote SMTP server login and password, but this is
> a one-time cost of learning which does not matter that much.)

I appreciate feeling put off by this, although I'd maybe reframe it as
balancing quality with other factors, and how that's going to change for
Guix as a project over time.

In the past and currently to some extent, it's been possible to move
very quickly without comprimising on quality. However, my feeling on
this is that if we want to have quality support for non x86_64-linux
architectures, reproducible builds, packages that build reliably,
... then that's going to require more effort. That might mean some
changes happen more slowly, but this is why I'm working on the tools and
processes, as I think that's a path to trying to maintain and improve
the quality while reducing the impact to pace and enjoyment.

I'm sure there are ways of addressing at least some of the problems you
mention above, so it's really valuable to mention them so that we can
work towards solutions.

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-30 22:03         ` Proposed changes to the commit policy (#59513) Christopher Baines
@ 2023-01-31 11:00           ` Simon Tournier
  2023-02-01 13:09           ` Andreas Enge
  1 sibling, 0 replies; 16+ messages in thread
From: Simon Tournier @ 2023-01-31 11:00 UTC (permalink / raw)
  To: Christopher Baines, Andreas Enge; +Cc: guix-devel

Hi,

On Mon, 30 Jan 2023 at 22:03, Christopher Baines <mail@cbaines.net> wrote:

> In the past and currently to some extent, it's been possible to move
> very quickly without comprimising on quality. However, my feeling on
> this is that if we want to have quality support for non x86_64-linux
> architectures, reproducible builds, packages that build reliably,
> ... then that's going to require more effort. That might mean some
> changes happen more slowly, but this is why I'm working on the tools and
> processes, as I think that's a path to trying to maintain and improve
> the quality while reducing the impact to pace and enjoyment.

I agree.

For what it is worth, this kind of slow transition seems common to many
projects. :-) For example, a recent story about Yocto [1].  Teaser:

        Our scale also means patch requirements are more demanding
        now. Once, when the number of people using the project was
        small, the impact of breaking things was also more limited,
        allowing a little more freedom in development. Now, if we accept
        a change commit and something breaks, it becomes an instant
        emergency, […]

Well, happy to discuss in Brussels or elsewhere such topic: being more
reliable with fun. :-)

Cheers,
simon


(From LWN [2] ;-))

1: <https://www.linux.com/audience/maintainer-confidential-opportunities-and-challenges-of-the-ubiquitous-but-under-resourced-yocto-project/>
2: <https://lwn.net/Articles/921646/>



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy (#59513)
  2023-01-30 22:03         ` Proposed changes to the commit policy (#59513) Christopher Baines
  2023-01-31 11:00           ` Simon Tournier
@ 2023-02-01 13:09           ` Andreas Enge
  1 sibling, 0 replies; 16+ messages in thread
From: Andreas Enge @ 2023-02-01 13:09 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel

Am Mon, Jan 30, 2023 at 10:03:14PM +0000 schrieb Christopher Baines:
> changes happen more slowly, but this is why I'm working on the tools and
> processes, as I think that's a path to trying to maintain and improve
> the quality while reducing the impact to pace and enjoyment.
> I'm sure there are ways of addressing at least some of the problems you
> mention above

One idea that came to my mind is that once the patch passes all tests
in automatic quality assurance, it could be committed automatically and
the bug closed (well, maybe not any patches, but at least these kind of
update patches, or specially tagged ones). This would not force people
to get back to them.

However I think it cannot work, since it means rebasing on the current
master, which invalidates the signature of the commit.

Andreas



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Proposed changes to the commit policy
  2023-01-30 21:40             ` Ludovic Courtès
@ 2023-02-13 11:41               ` Efraim Flashner
  0 siblings, 0 replies; 16+ messages in thread
From: Efraim Flashner @ 2023-02-13 11:41 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Andreas Enge, Simon Tournier, Christopher Baines, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1474 bytes --]

On Mon, Jan 30, 2023 at 10:40:42PM +0100, Ludovic Courtès wrote:
> Hi!
> 
> My 2¢ on this…  As a committer & reviewer, I love that I can just go to
> <https://qa.guix.gnu.org/patches>, pick one of the patch series with a
> green tick, and have the assurance that the resource-intensive work is
> already done.  That makes a big difference!
> 
> As someone who submits patches, I realize the delay can be off-putting.
> For the hwloc upgrade I recently submitted, I got valuable feedback
> pointing at actual issues, but that was about a week later.  Then I had
> to switch contexts again to adjust the patch accordingly.
> 
> I guess that, to a large extent, that’s scheduling and resource issue.
> 
> Happy to discuss that in the coming days in Brussels!

Some of that might be mitigated by separating submitting patches and
pushing patches. On the rare occasion I've pushed patches belonging to
another committer if I felt it had been long enough and I needed it for
another patchset. If we're ok with touching up and pushing each other's
patches then reviewing all patches might go faster.

Even more so if we made it a rule that you couldn't push your own
patches (which I believe was suggested in 2017 and with using aegis).

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-02-13 11:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-13 14:10 Proposed changes to the commit policy (#59513) Christopher Baines
2023-01-16 21:47 ` Christopher Baines
2023-01-17 16:35   ` Ludovic Courtès
2023-01-18 11:23   ` Andreas Enge
2023-01-18 11:45     ` Christopher Baines
2023-01-18 16:54       ` Kaelyn
2023-01-22 17:18       ` Andreas Enge
2023-01-23  9:24         ` Simon Tournier
2023-01-24  9:07           ` Attila Lendvai
2023-01-25 15:03           ` Proposed changes to the commit policy Andreas Enge
2023-01-30 21:40             ` Ludovic Courtès
2023-02-13 11:41               ` Efraim Flashner
2023-01-30 22:03         ` Proposed changes to the commit policy (#59513) Christopher Baines
2023-01-31 11:00           ` Simon Tournier
2023-02-01 13:09           ` Andreas Enge
2023-01-20 11:50     ` Simon Tournier

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).