Branching & release process communication

This follows from my comment here:

Short summary

We need to communicate between multiple people in the release process. This RFC goes over the background, various ways we have now and possible unification

Background

The Foreman and Katello projects have branching and release procedures because that’s we way we get code out to users. These are repeating processes. By now we’ve standardized these into templates.

There’s a directory where every project is listed. For every project there are templates that the CLI can generate. These are then posted to the Releases Discourse.

Each procedure is essentially a checklist (see The Checklist Manifesto - Wikipedia) to make sure no step is missed. They typically also have multiple roles. That’s where this RFC comes into play: how do we communicate between those people.

Foreman’s Branching procedure is very explicit in the roles by adding headers. This makes it clear who’s doing what. The document should also structured be in a way that person X does a few steps and then person Y does a few steps.

Solutions

My first proposal is to add the explicit role headers that Foreman’s branching procedure has to all other procedures as well.

That brings us to the next point: how do we communicate these handovers. Today this happens informally, often IRC. Katello also uses a Red Hat internal mailing list.

I think we should always use upstream-only resources when we can. My second proposal is to standardize the handover. I propose that when someone’s done with their tasks, they add a comment to the procedure that steps they’ve completed their steps and it’s now up to the next person.

We have the release meetings. There we typically establish who’s who.

So here’s the third proposal: in the release processes we post, we also add the roles. This will also help in the handover: they can simply post @theuser my tasks are done, please continue the process (or likewise). I’m proposing we add a block like this:

## Roles

* Release Owner: @OWNER
* Release Engineer: @ENGINEER
* Installer Maintainer: @MAINTAINER

The @X fields should be replaced by the user’s username on Discourse.

5 Likes

Who are the participants you need an ack from for these proposals? I can +1 as I think it’s a reasonable suggestion but that does not change much :slight_smile:

Last Monday we discussed this in the release meeting and the was consensus so here’s a PR that implements it.

The one thing to note is that so far I’ve heard nothing from release engineers.

@evgeni @pcreech @Zhunting @Odilhao

1 Like

I did comment on the PR, but will also here, to keep the record: full ACK from me on the proposal, minor comments on the actual patch :wink:

Given the PR was merged, shall we consider this RFC accepted?

I’ve marked the link to my PR as the accepted solution. Thanks everyone!