If it's possible, I would also appreciate it if we could add a pre-commit
hook to our repository that rejects a commit whose title does not match our
prescribed pattern. Doing so would go a long way toward simplifying the
parsing tools.

-n

On Fri, Jan 15, 2021 at 3:18 PM Nick Dimiduk <ndimi...@apache.org> wrote:

> > I have now had to sink two 2.4.1 RCs because of errors in the change log.
>
> IIRC, it's a relatively new phenomenon that we sink an RC because the
> CHANGES file is incomplete.
>
> > That's right... Commtters cannot be trusted to correctly maintain issue
> metadata in JIRA.
>
> I wouldn't go so far as to make a blanket statement such as this... I
> suspect there's a couple new people who missed this message. In my
> experience, a polite nudge from the RM on the affected JIRA issue to the
> offending committer resolves the knowledge gap.
>
> > I think the root cause is GitHub and JIRA are two separate change
> tracking systems with only a minimal amount of integration. It requires
> manual effort.
>
> This I 100% agree with. But then, even before GitHub, Jira and SVN were
> two separate systems, and we managed fine. Maybe, as you say, the committer
> mentality around attention to detail has laxed. Or maybe, as I suggest,
> there's just an education gap involving a couple people, which can be
> addressed.
>
> > We do not have a single source of truth as to what are active branches
> and what was the most recent release by version number made from each
> branch.
>
> Ah, now the discussion gets interesting! IMHO, we do have a source of
> truth re: this information -- it's git.
>
> > Perhaps something can be created that takes the union of git branch
> listing and reporter.a.o release version history.
>
> I did create such a tool, it scrapes git and Jira and produces a database
> containing this information, from which reports are generated and ad-hoc
> queries are issued. I committed it (nearly a year ago to the day) via
> HBASE-22853 (Viraj, you signed off on this commit...). As I mentioned
> earlier, it's still young, but it was invaluable for me in establishing a
> baseline for 2.3.0, and includes a readme with lots of examples.
>
> I am of the opinion that the git repository is the authority on what is in
> a release. After all, a release is defined as a permanent "rel" tag in git
> (plus some ASF ceremony). IMHO, Jira needs to follow git, not the other way
> around. Likewise, tracking the CHANGES file in git -- a file generated from
> a Jira query -- is very silly. Instead, I propose that the changes file be
> generated on demand, perhaps as part building the tarball. The only
> alternative, if you want to retain the CHANGES file in git, is to include
> an update to the CHANGES file with every git commit, which I think is
> completely untenable.
>
> One other stumbling point is that our release notes are generated from a
> field in Jira. We could generate release notes from git commit messages,
> but I think that is an unrealistic burden to place on committers at the
> time of commit.
>
> Following the logic that git is the source of truth, I propose a change to
> our release generation process so that it looks something like
> 1. set the version number in poms, commit.
> 2. apply the RC tag.
> 3. run the audit tool to generate a report.
> 4. resolve inconsistencies (manually for now, eventually the tool could
> update Jira -- it has an API)
> 5. build artifacts, including generating any files from metadata in Jira.
>
> Step 3, when automated, can even be run during our nightly branch builds.
> At that point, a committer doesn't need to worry at all about a fixVersion,
> they just commit to their branches and automation takes care of the rest.
>
> The above has the issue around when to close a ticket. IMHO, a ticket
> should be closed as soon as there's a commit to any branch, but maybe there
> are other complexities to consider.
>
> Thanks for bringing this up, Andrew. It's bothered me since 2.3.0 :)
>
> -n
>

Reply via email to