[Evergreen-dev] Release branch proposal
Blake Graham-Henderson
blake at mobiusconsortium.org
Mon Feb 26 15:03:32 EST 2024
Jane,
Thank you for the well-thought-out proposal.
Galen has led a few discussions aiming at completely automating the
release process. So that we need only to click on "go". I think that's a
great goal and it seems to align with the spirit of this thread.
If it were completely automated, would the proposed changes for release
branches matter? In other words: are you making these proposals because
the manual work is painful/tedious/error prone? I don't see a problem
having the rel_X_Y branch and tags/rel_X_Y_Z "branched" from rel_X_Y.
<- Speaking to Jason's comments.
It should be easier to make release tarballs. Though, I'm sure it's
never been as easy as it is today.
I think a step towards 100% automated would be that each and every patch
should be required to have release note(s) added to the release notes
adoc tree (docs/RELEASE_NOTES_NEXT). As well as edits to the
documentation proper (if applicable) (docs/modules/*).
The "Release-notes" git tag could check the box if the commit is
sufficiently small.
But I might be (getting away)/detracting from the topic of the thread.
-Blake-
Conducting Magic
Will consume any data format
MOBIUS
On 2/26/2024 10:00 AM, Jane Sandberg via Evergreen-dev wrote:
> Hi all,
>
> I'd like to propose a change to the release process
> <https://wiki.evergreen-ils.org/doku.php?id=dev:release_process:evergreen:how_to_build>
> (how original, I know!). Currently, we make certain commits only in
> the tag branch for a specific release (e.g. tags/rel_3_12_2), and
> others in both the tag branch and the release series branch (e.g.
> rel_3_12).
>
> These go into both:
>
> * The database upgrade script (depending on the branch, this can be
> found in commits called "Forward-port[...]" or "Bumping version
> numbers, adding Upgrade Script[...]")
> * The release notes
> * Untranslated strings that are bound to launchpad (in commits
> called "Translation updates - newpot")
>
>
> These go only into the tag branch:
>
> * Updates to translated strings from both launchpad and PoEditor
> * Bumping the version string in Open-ILS/src/perlmods/lib/OpenILS.pm
> * Bumping the version string in
> Open-ILS/src/perlmods/lib/OpenILS/Application.pm
> * Putting an actual version (instead of 3.X.X) into
> docs/modules/installation/pages/server_upgrade.adoc
> * The Changelog
> * An upgrade_log sql statement in 002.schema.config.sql.
> * Some XUL stuff, apparently.
>
>
> My proposal would be to make all needed changes to the release series
> branch, and then create the tag branch directly from the release
> series branch when all these steps are done. So, at the time of
> release, rel_3_12 and tags/rel_3_12_2 would be identical, before
> rel_3_12 starts to accumulate bug fixes for the next release.
>
> From my limited perspective, here are the pros:
>
> * It would eliminate any errors that could arise through differences
> in the release series branch and the release tag branch (e.g. not
> forward-porting the upgrade script to rel_3_12)
> * We'd keep po files in the git repo, making it easier to see what
> has changed from release to release, and making it easier to set
> up a localized environment from the git source.
> * Our public documentation
> <https://docs.evergreen-ils.org/docs/3.12/installation/server_upgrade.html#_upgrade_the_evergreen_code>
> would include the actual version numbers and file names for the
> most recent release in a series, rather than a bunch of Xs.
> * Manually changing the version string in
> Open-ILS/src/perlmods/lib/OpenILS.pm would be less of a brain
> teaser each time (this may be a personal problem, but it is easier
> and less error-prone to just increment the number that's already
> there than delete "2.4" and try to figure out the correct format
> from scratch).
> * I tend to visit the release series branches more often than the
> release tag branches. For those like me, it can make the release
> process more visible.
>
>
> Cons:
>
> * Having these things in the release series branch may cause some
> kind of problem that I'm not familiar with.
> * People may have tools that help them roll releases that would need
> to be changed.
>
>
> Please let me know your thoughts, especially if there are any cons
> that I have missed, or prerequisites we would need before making such
> a change. I'm not proposing this for the in-progress 3.11.4 release,
> by the way, just for the future.
>
> Thanks for considering!
>
> -Jane
>
>
> _______________________________________________
> Evergreen-dev mailing list
> Evergreen-dev at list.evergreen-ils.org
> http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/evergreen-dev/attachments/20240226/a043d279/attachment.htm>
More information about the Evergreen-dev
mailing list