David,

Thank you for the insights and explanation!

I completely understand the technical debt and the challenge of making this 
better during a release.  I would like to jump in and see where I can help.  My 
problem is I am not a java developer.  What I am good it is automating tasks, 
if I can be taught to execute them.

The big ask is:  Would anyone want to take the time with me to educate me on 
what has to happen for a release (not during a release)?  I am thinking that we 
could set up a dummy repo that has some simple small java code in it to be a 
dummy TomEE release candidate.  Create some dummy destinations that mimic where 
the artifacts must be placed.  Once I understand the process, I can see about 
making it repeatable.

Personally, I would like to see it done in a way that someone with lesser 
skills (like, but not necessarily,  me) does releases.  The way I see it now is 
the heavy hitters do the releases.  I think their time would be better spent on 
the technical debt, bugs, etc.  Maybe we could find a small few that would be 
wiling the be release specialists.  I know some where I work that MAY be 
interested.  If someone would teach me, I would teach them.

Thanks,
Rod.

On 9/17/21, 12:05 PM, "David Blevins" <[email protected]> wrote:

    > On Sep 17, 2021, at 9:39 AM, Jenkins, Rodney J (Rod) 
<[email protected]> wrote:
    > 
    > David,
    > 
    > <<<
    >    I think it's more that we're all using different commands/scripts to 
create those files and getting slightly different output.
    >>>> 
    > 
    > Are we open to using some automation?  It would seem to me that there is 
plenty of tools we could leverage to automate the release.  I have not been 
around here all that long as compared to many of you, so this was probably 
discussed before.  I am open to working on that, if we are interested.

    The primary trick to that is Apache does not have any concept of shared 
credentials or users.  Everything has to be executed as a committer using their 
personal credentials.  So that basically means we can't do releases from say a 
shared build box like a Jenkins or Buildbot install hosted at Apache or 
anywhere.

    In our early days I put a lot of work into creating tooling we can all use 
to hopefully make the task of releasing easier / less time consuming.  It would 
use the credentials on your machine to move the binaries from Nexus into the 
Apache staging area (which is svn), generate release notes, update the download 
page, start the vote thread, etc.

    I likely went overboard or it wasn't really user-friendly or documented 
enough as when I stopped doing releases, those tools stopped getting used and 
everything was done manually, we lost things like release notes and the 
documentation stopped getting used and updated.  These days people figure it 
out for themselves as there is no up-to-date documentation to help them.

    If we could get back to a place where we are sharing the scripts & commands 
we use to do releases and documenting the process, that'd be really great.

    The trick is there is there's so much technical debt piled up in the 
docs/tools that it's really too much to tackle while doing a release.


    -David


Reply via email to