I have set up a chain of build jobs in Jenkins.

The root of the chain is
https://builds.apache.org/job/maven-3.2-release-status/

This builds at midnight UTC every monday.

If there are changes to the master branch of Maven since the last release
of Maven then that build will pass and kick off the chain.

The next build in the chain is
https://builds.apache.org/job/maven-3.2-release-status-build/

This checks out the GIT hash provided by
https://builds.apache.org/job/maven-3.2-release-status/ and verifies that
it builds using the apache-release profile (and a throwaway GPG key to sign
everything - we need a GPG key to enable the profile)

If that build succeeds then
https://builds.apache.org/job/maven-3.2-release-status/ gets a green star
promotion badge and
https://builds.apache.org/job/maven-3.2-release-status-test/ gets triggered.

https://builds.apache.org/job/maven-3.2-release-status-test/ uses the built
version of Apache Maven from
https://builds.apache.org/job/maven-3.2-release-status-build/ and runs the
integration tests against that binary.

If that build succeeds then
https://builds.apache.org/job/maven-3.2-release-status/ gets a gold star
promotion badge.

After Monday, if it all works according to plan, then I will tweak the job
to send an email on success alerting us that we can cut a release of Maven
core.

I would hope that a release manager would step forward (it may be me... it
could be anyone who feels up to cutting a release) and we would then cut a
release sometime after the mail.

If there is no gold star on the build... then there will not be a release
that week... or at least I will not be pushing for one.

If this pipeline works out ok, we can see about enhancing it with further
tests, e.g. windows integration tests, etc.

Reply via email to