* docs: link directly to FINERACT-873 and shorten it for brevity / clarity * fineract plugin: * print email, don't send (WIP, but I might keep this... I prefer manually sending emails for now.) * support different release date and release branch date I originally modified EmailService (disabling the actual email sending by just commenting it out) but I reverted that change per discussion with Ádám Sághy. You won't see this in the squashed final commit so I'm mentioning it here for posterity. Ádám wrote: > Is there a reason to remove the email sending? I replied: > Great question. I did think about this for a bit. I should have been more transparent about my intent. Allow me to explain. > > For the 1.12.0 release process I used the groovy code to generate email templates, but I wanted to edit the emails before sending so I disabled this line, and intentionally left it so, figuring I'd be the one using and [hopefully minimally] maintaining it for now. > > The Fineract (release) plugin appears to be more or less unmaintained for about 2 1/2 years now (save the semiautomated dependency updates). Looking at the code and history, I assumed I was the only one that would be using it now and in the near future. It also struck me how most everything it does is primarily to work around antiquated Apache release process steps that are not necessarily what we want for Fineract. Personally I think the Fineract release plugin should be simply replaced by a better release process. > > I think I'll add a comment there, and of course I welcome your feedback. > > Anyway yeah, my intent here was simply to do the simplest, safest, and most useful change here so I could keep this release plugin limping along until we improve the release process itself. No disrespect to @vidakovic and @vorburger and whomever else poured love into this code over the years. Perhaps the options for releasing Apache code have improved since then? > > Today we can of course do better (e.g. just let GitHub help us release with far fewer clicks/steps). > > Also I am not proposing we change the release process today or even soon. Maybe in a quarter or two I'll propose changes, if/when there seems to be political will around that. Ádám replied: > hmm... i am not particularly mind if you are reworking the release process, but i think having a "send" step which was meant to sending a mail but now the actual sending got commented out is misleading, no? I replied: > Yep, you're right. I think I'll just back out this change because I agree with you it's bad to just leave the send() call commented out without any other changes.
27 lines
1.8 KiB
Plaintext
27 lines
1.8 KiB
Plaintext
= Step 1: Heads-Up Email
|
|
|
|
== Description
|
|
|
|
The RM should, if one doesn't already exist, first create a new release umbrella issue in JIRA. This issue is dedicated to tracking (a summary of) any discussion related to the planned new release. An example of such an issue is https://issues.apache.org/jira/browse/FINERACT-873[FINERACT-873].
|
|
|
|
The RM then creates a list of resolved issues & features through an initial check in JIRA for already resolved issues for the release, and then setup a timeline for release branch point. The time for the day the issue list is created to the release branch point must be at least two weeks in order to give the community a chance to prioritize and commit any last minute features and issues they would like to see in the upcoming release.
|
|
|
|
The RM must then send the pointer to the umbrella issue along with the tentative timeline for branch point to the developer lists. Any work identified as release related that needs to be completed should be added as a sub tasks of the umbrella issue to allow all developers and users to see the overall release progress in one place. The umbrella issue shall also link to any issues still requiring clarification whether or not they will make it into the release.
|
|
|
|
The RM should then inform users when the git branch is planned to be created, by sending an email based on this template:
|
|
|
|
[source,text]
|
|
----
|
|
include::{rootdir}/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl[lines=21..]
|
|
|
|
include::{rootdir}/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl[lines=21..]
|
|
----
|
|
|
|
== Gradle Task
|
|
|
|
.Command
|
|
[source,bash,subs="attributes+,+macros"]
|
|
----
|
|
% ./gradlew fineractReleaseStep1 -Pfineract.release.issue=1234 -Pfineract.releaseBranch.date="Monday, April 25, 2022" -Pfineract.release.version={revnumber}
|
|
----
|