DISCUSSION: Pulp release-process improvements

Hey folks -

@gerrod , in his role as this month’s Release Maven, has been collecting a list of things we could improve around our release process. A few of us got together to discuss today, and will continue to meet to implement improvements/changes.

If you’re interested in contributing/attending - ping Gerrod to add you to the invite!

We’ll be posting minutes to this thread; first meeting’s notes coming next.

Thanks!
G

1 Like

(Organizational meeting, 2023-05-18)

Release CI Improvements

Goal:

  • gather issues noticing during releases
  • prioritize what to do first
  • differentiate between “fixes” [F] and “change-proposal” [RFE]

Next Steps

  • “just do” things labelled [F] below
  • bring list to larger team for review/thoughts/observations
    • AI: [ggainey] open a discourse thread
    • put on agenda for Monday’s team mtg
  • meeting weekly (Thurs 0900 GMT-5)

Issues

  • [F] Fix conflicting auto-on-release PRs: Update Changelog vs Cherrypick Changelog
    • why are there two?
    • which one is doing The Right Thing?
    • remove at least one
    • maybe it’s a collision between Y-release/Z-release processes?
  • [F] Remove Tests from Release process
    • yes please
  • Remove manual CI steps for OCI-images
  • Remove need to manually update CI branches for Y releases
    • need to have a programatically-reliable location of “list of supported branches”
    • change “…and latest-Y to just-released Y”
  • [F] create new backport-label for Y-releases
    • [RFE] and remove unneeded ones?
    • see “reliable location of list of supported branches”
  • [F] Check if this job is necessary:
  • Create script to determine if releases are needed
    • Checks the release branches for presences of changelog additions
    • can determine Y- vs Z- based on CHANGES extension
    • x9c4 has a git-log cmd
    • “some day”, we could get to a completely-automated process
  • Create script to auto-generate an announcement message
    • autopost to discourse?
    • autopost to twitter?
      • or mastodon?
      • y-release only? or all?
    • matrix channel $TOPICs?
    • slack too?
1 Like

May 25

Previously

Notes

  • Finish releasing plugin pulpcore>=3.25 releases
    • file/rpm/python/maven/deb/certguard are done! /cheers wildly
    • container, ostree, ansible (actually release)
      • talk w/ lubos
      • AI [gerrod] ansible
    • cookbook, gem, npm for nightly (main branch only)
  • [F] disable deprecations-test from release-branches “automagically”
    • yes please
  • Working on check-release script (gerrod)
    • Multiple branches are missing changelog updates
      • seems to have been failures in changlog/remove-changefiles/update-dev?
      • needs investigation
      • seems not to affect any branches “we care about”
  • discussion around “auto actions at create-release-branch action (Y branches)”
    • create new backport label (PR#745)
      • should prob take over from Michal since he’s in finals for a few weeks
    • update ci-branches automatically
    • re-sync backport labels to to ci-branches

Next Steps

  • focus on core/3.25-compat releases first
  • try to reserve brain-space to pick up items below as we can this week
  • post minutes to Discourse thread
2 Likes

Jun 01

Previously (copy from prev-mtg-next-steps)

  • focus on core/3.25-compat releases first
    • when does the oci-image get published?
    • not out yet - AI: decko - hit up Mike to figure out what’s up
  • try to reserve brain-space to pick up items below as we can this week

Notes

  • Check release script:
    • https://github.com/pulp/plugin_template/pull/750
    • looks thru CHANGES directory, does Cool Stuff in response
    • Note: we don’t appear to currently have git-python as a requirement anywhere
      • is there a “release_requirements.txt” somewhere? should there be?
        • release_requirements.txt is under a DEPRECATED_FILES in plugin_template
      • ci_requirements? (no - stuff that needs to be installed before tests, not release)
      • we should separate this-script, from “we should have a releasae_requirements.txt file” - that will be its own PR
  • gerrod is picking up “remove tests from release” ASAP
    • backport-releases took up A LOT of time
    • the one-off/transient test-failures are A Pain
  • high-level goal: document what the CI is “actually doing”, so ppl have a place to go to try and figure out problems
    • a to-do for “after everything else is stable/quiescent”

Next Steps

  • AI: decko - hit up Mike to figure out what’s up w/ oci-images and 3.25
  • try to reserve brain-space to pick up items below as we can this week
  • post minutes to Discourse thread
1 Like

Jun 8

  • Removed tests from release workflow
  • Simplify (separate out) OCI release automation
  • Some proposed tasks:
    • pull apart p-o-i action so that the individual Things are separate actions
    • get p-o-i to always have a branch for each pulpcore-y-branch
    • automate the p-o-i branch-creation in a way that makes it possible to invoke from pulpcore-release-workflow
    • automate p-o-i release in a way that it can also be invoked from core-release
  • Is there a technical issue that gets in the way of separating our one-large-workflow into more tightly-focused files?
    • possibly? needs some investigation
1 Like

Jun 15

  • try to reserve brain-space to pick up items below as we can this week

    • [F] Fix conflicting auto-on-release PRs: Update Changelog vs Cherrypick Changelog
    • [F] Remove Tests from Release process
    • [F] create new backport-label for Y-releases
    • [F] Check if this job is necessary:
      • Actions · pulp/pulp-ci · GitHub
        • It updates a file in pulp-ci that is used in the docs header to tell if a user is looking at the latest version
        • Should change the logic to have the header look at that plugin’s repository and then remove this job
        • Also the supported versions docs header should probably list the ci_update_branches
2 Likes

June 22

  • Review PLEASE:
  • Last two items removing manual steps:
    • Remove need to manually update CI branches for Y releases [AI: gerrod]
      • need to have a programatically-reliable location of “list of supported branches”
      • change “…and latest-Y to just-released Y”
    • Automating Pulp-oci-images release steps
  • What next?
    • working-group is set to end at end of June
    • we have only the auto-ci-branches Thing to do
    • looks like we can declare working-group Done at that point?
    • pulp-oci-images work should be done as well
      • discussion around pulp-oci-image status
      • work w/ decko on our needs here?
  • Some proposed tasks (in proposed order):
  • Action Items:
2 Likes

June 29

  • Wrapping up working group
    • Last two action items in progress
      • Automating update CI branches for Y releases
      • Automating Pulp-OCI-images release steps

This was the last scheduled meeting for the CI release improvement working group. With most of our goals accomplished, the group will now only meet ad hoc as new issues arise. Thank you everyone for all your hard work.

See you on release day!

4 Likes