Re: Proposed changes to the commit policy (#59513)

2023-01-24 Thread Attila Lendvai
> 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




Re: FOSDEM’s coming!

2023-01-24 Thread Simon Tournier
Hi Tobias,

On lun., 23 janv. 2023 at 19:30, Tobias Platen  wrote:

> Unfortunately I'll won't make it to Brussels this year, so I ask if
> there is an IRC chat or recording of talks at the fringe event.

The fringe event will not be recorded, sadly.  Some people will be on
IRC I guess. :-)


Cheers,
simon



Re: etc/commiter.scm should not commit

2023-01-24 Thread Ekaitz Zarraga
--- Original Message ---
On Tuesday, January 24th, 2023 at 2:50 AM, Csepp  wrote:


> There have been countless times when I was using etc/commiter.scm and it
> commited more than it should have and then slapped an incorrect message
> on it.
> I think it would make a lot more sense if adding changes was left up to
> the human at the keyboard (at least by default) and the script was
> invoked only when editing the commit message.

That could be done on a git hook but developers would need to configure it.



Re: etc/commiter.scm should not commit

2023-01-24 Thread Csepp


Ekaitz Zarraga  writes:

> --- Original Message ---
> On Tuesday, January 24th, 2023 at 2:50 AM, Csepp  wrote:
>
>
>> There have been countless times when I was using etc/commiter.scm and it
>> commited more than it should have and then slapped an incorrect message
>> on it.
>> I think it would make a lot more sense if adding changes was left up to
>> the human at the keyboard (at least by default) and the script was
>> invoked only when editing the commit message.
>
> That could be done on a git hook but developers would need to configure it.

It does not need to be a hook, it can be done by setting EDITOR or
VISUAL, or commiter.scm can even retain its current interface and just
internally git add everything and call the script that would decide the
message based on the staged diff.



Struggling to write Dissecting Guix, Part 2

2023-01-24 Thread (
Hello Guix,

I've been struggling to write Part 2 of Dissecting Guix; I'm just not sure 
where to start to
explain monads.

It's hard for a variety of reasons, those being that:

  - Guile has no type system, so you can't express monads in terms of types
  - Guix doesn't implement very many monads (only state, identity, and store), 
so it's
difficult to explain with a simpler monad, as there are no simpler monads
  - Guix doesn't have functors or monoids either, so it's hard to 
"progressively" explain
first functors, then monoids, then monads
  - Monads are just difficult in general :P

Any suggestions? :/

-- (


signature.asc
Description: PGP signature