Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release process #33

Merged
merged 5 commits into from
May 15, 2020
Merged

Release process #33

merged 5 commits into from
May 15, 2020

Conversation

jromero
Copy link
Member

@jromero jromero commented Dec 6, 2019

@jromero jromero changed the title RFC: Release process Release process Dec 6, 2019
Copy link
Contributor

@zmackie zmackie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some general clarifying questions and comments.

text/0000-release-process.md Outdated Show resolved Hide resolved
text/0000-release-process.md Show resolved Hide resolved
text/0000-release-process.md Outdated Show resolved Hide resolved
@jromero
Copy link
Member Author

jromero commented Dec 10, 2019

Additional feedback:

  • code freeze has a negative connotation - as to sound as if the developers are no longer doing anything. Really should rename to code complete.
  • propose staggering pack/lifecycle releases as it would have additional positive properties.

Signed-off-by: Javier Romero <jromero@pivotal.io>
@jkutner
Copy link
Member

jkutner commented Dec 12, 2019

I think an Unresolved Question is "who's on the CCB?"

Are there any drawbacks to this proposal?

@zmackie
Copy link
Contributor

zmackie commented Jan 22, 2020

Moving to final comment period

@zmackie
Copy link
Contributor

zmackie commented Jan 22, 2020

Disussion in WG about how to handle out of band release:

  • Maybe announce on slack

@zmackie
Copy link
Contributor

zmackie commented Jan 22, 2020

This to be moved into entry in https://github.com/buildpacks/community when ratified

- **Release Notes**
- **Migration Guide**, when appropriate.
- The release branch will be tagged as `v<version>`.
- The release branch will be merged into `master`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An aspect of this should also be, "on thursday, a standing item will be discussing the upcoming releases".

What this disucssion entails, I'm not certan.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depending on the lifecycle of the release I can imagine the following:

  • At the start of a new release, rundown/celebration of previous release and discussion for the proposed features being worked on in the new one.
  • During development, quick status check/any open questions on features
  • Week before feature complete, a warning that it closes next Tues.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should also add comms here (email, twitter, slack #announcements, etc)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zmackie / @hone

After @zmackie and I tried to hash this out we incorporated the role of a release manager. (refer to updated doc for details). It does include the idea of relaying status during working group meetings but given the role is short lived (within feature complete) I do think the listed items lend themselves more to the PM role. Thoughts?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jkutner added!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the distinction in your head of PM/Release Manager?

@zmackie
Copy link
Contributor

zmackie commented Jan 24, 2020

Disussion in WG about how to handle out of band release:

  • Maybe announce on slack

We've created a #release-planning channel in slack for these discussion

Signed-off-by: Javier Romero <jromero@pivotal.io>
Signed-off-by: Javier Romero <jromero@pivotal.io>

_The following schedules are suggestive and subject to change based on practicality._

* Release Cadence: **Monthly** on the **1st Tuesday** of the month
Copy link
Member

@hone hone Jan 24, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all releases happening on the 1st Tues? Does this only apply to pack, to lifecycle? Do other pieces of software like libbuildpack or the Teknton template follow this? What about if we want to release one of them earlier b/c of a breaking change, do we need to wait a month then?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the summary to present this as a template that only pack and lifecycle would use initially. The specifics on dates are agreed upon outside this document.

text/0000-release-process.md Outdated Show resolved Hide resolved
text/0000-release-process.md Outdated Show resolved Hide resolved
text/0000-release-process.md Outdated Show resolved Hide resolved
@hone
Copy link
Member

hone commented Jan 24, 2020

Just because this RFC hasn't been accepted, I think we can trial this whole process. Overall, I like a lot of this RFC. That being said, there are a still some outstanding questions that I think that need to be answered before this moves forward.


A migration guide is a document which details breaking changes for migrating from prior versions.

### Release Execution
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Announcements via e-mail, slack, social media(?) should be included as part of the release plan so we don't forget.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added

@jkutner
Copy link
Member

jkutner commented Jan 24, 2020

I like @hone's suggestion to trial the process. But I think there are too many open questions to finalize as is. In particular I'd like to see more clarity on:

  • The CCB (who's on it, how you get on it)
  • If this policy applies to all repos (even imgutil, and libbuildpack?)
  • How are security releases are handled (if we need to bypass the regular cadence)?
  • How lifecycle and pack interplay (do we stagger their release cycles to help w/ breaking changes?)

I think those points are captured well in the inline comments by others, but I wanted to reiterate.

@nebhale
Copy link
Contributor

nebhale commented Jan 29, 2020

Moving back out of FCP because we were a little over-eager.

@hone hone mentioned this pull request Jan 30, 2020
- Make it clear this is a template being applied to pack and lifecycle
- Denote it excludes patches and out-of-band releases
- Rename release execution to release finalization
- Clarify CCB members
- Add mention of tagging and release branch merging to master
- Release manager role
- Additional comms to release finalization

Signed-off-by: Javier Romero <jromero@pivotal.io>
@jromero
Copy link
Member Author

jromero commented Feb 3, 2020

@jkutner we've made some changes that should shine light on some of the questions you've gathered:

The CCB (who's on it, how you get on it)

This is now answered. TL;DR; maintainers of component

If this policy applies to all repos (even imgutil, and libbuildpack?)

Summary updated. This process is intended to be a "template" that will be applied to pack and lifecycle. Other components can choose to follow it.

How are security releases are handled (if we need to bypass the regular cadence)?

Summary update. This RFC intentionally leaves out out-of-band releases to be hashed out later as they provide their own set of challenges.

How lifecycle and pack interplay (do we stagger their release cycles to help w/ breaking changes?)

Summary update. As a template, the scheduling of interoperable components is left up to a higher order as well as future definitions in an "out-of-band" release process.

Copy link
Member

@ekcasey ekcasey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The biggest outstanding question here for me is: what about docs? This RFC says that the maintainers of a subteam comprise the CCB. However, the docs are owned by the learning team. How will docs updates and releases be coordinated?

text/0000-release-process.md Show resolved Hide resolved

### Release Manager

A release manager is a role assigned to an individual selected to own the release process. A release manager should be
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the release manager assigned per release or is this a more long standing role?


The responsibilities of the release manager include, but are not limited to:

- Communicating status during working group meetings.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we elaborate things covered in these meetings?

@zmackie
Copy link
Contributor

zmackie commented Feb 6, 2020

Outstanding Q: does this apply to lifecycle?

@sclevine
Copy link
Member

From WG 4/15: @jromero will update to reflect that just pack is affected for now

Signed-off-by: Javier Romero <rjavier@vmware.com>
@jromero jromero requested a review from a team as a code owner April 22, 2020 15:22
@jromero jromero requested review from ekcasey and hone April 22, 2020 15:22
@jromero
Copy link
Member Author

jromero commented Apr 22, 2020

From WG 4/15: @jromero will update to reflect that just pack is affected for now

Updated

@jromero
Copy link
Member Author

jromero commented Apr 28, 2020

@joe / @hone any additional clarifications necessary or concerns?

@hone
Copy link
Member

hone commented Apr 29, 2020

@jromero nope, just nitpick formality, that we should make sure to make it clear when unresolved questions are resolved/out of scope for future readings.

@sclevine
Copy link
Member

sclevine commented May 6, 2020

Moving to FCP as of 2020-05-06, will be merged 2020-05-13 assuming no other feedback is presented.

nebhale added a commit that referenced this pull request May 15, 2020
[#33]

Signed-off-by: Ben Hale <bhale@vmware.com>
@nebhale nebhale merged commit 243ec7a into buildpacks:master May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants