[Eg-newdevs] Release branch proposal
Jane Sandberg
sandbergja at gmail.com
Mon Feb 26 11:00:00 EST 2024
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/eg-newdevs/attachments/20240226/6af52b50/attachment.htm>
More information about the Eg-newdevs
mailing list