Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove release:perform from maven invocation #101

Merged
merged 1 commit into from
Aug 20, 2015

Conversation

jrha
Copy link
Member

@jrha jrha commented Jun 3, 2015

The time taken to build a release has been increasing steadily and I don't expect things to get any better, currently each build takes about 1.5 hours wall time.

The most time consuming parts of the release is running the unit tests, which we should absolutely do. However, they currently they get run at least three times, once during release:prepare, again during release:perform and again when we build the metaconfig templates.

release:prepare updates the snapshot, tags the git repository, runs the tests and builds packages.
release:perform runs the tests, builds packages and uploads artifacts to the LAL Nexus.

My proposal is that we no longer run release:perform and therefore do not push artifacts to the LAL Nexus repository during releases. AFAIK we only push the pom, tar.gz and rpm to Nexus: the pom we also keep in the git repository, the rpms have the wrong names (and are unsigned) and I am unsure if anyone uses the tar.gz.

Would anything break if we stopped pushing to Nexus? I suspect not.

@jrha jrha added this to the 15.6 milestone Jun 3, 2015
@stdweird
Copy link
Member

stdweird commented Jun 3, 2015

quattor/maven-tools#55 should also help with speeding up the unittests

@jrha
Copy link
Member Author

jrha commented Jun 3, 2015

Indeed, although I still think pushing to Nexus is not very useful for the main codebase.

@jrha
Copy link
Member Author

jrha commented Jun 3, 2015

I am building 15.4 without release:perform to see what happens.

@jouvin
Copy link
Contributor

jouvin commented Jun 3, 2015

I'd tend to agree with @jrha : I don't think pushing to Nexus is really useful for anything not used by Maven as a plugin... and for these components, it must be pushed to Maven central, not LAL nexus... If we can shutdown the LAL Nexus server at some point, I would be happy!

@loomis
Copy link

loomis commented Jun 8, 2015

If the central repository for artifacts isn't useful, then you can just use the "install" target rather than the "deploy" target when running the release goals. There are release parameters that allow you to set what goals are used as the various stages of the release process. You can also selectively turn off the testing by setting the "-DskipTests" flag for either the "release:prepare" or "release:perform" stages.

@stdweird
Copy link
Member

@jrha did you actually make 15.4 without this? shall i merge it for 15.8?

@jrha
Copy link
Member Author

jrha commented Aug 20, 2015

I did make 15.4 without it!

stdweird added a commit that referenced this pull request Aug 20, 2015
Remove release:perform from maven invocation
@stdweird stdweird merged commit ee3ee6b into quattor:master Aug 20, 2015
@jrha jrha deleted the only-prepare-dont-perform branch August 20, 2015 17:54
jrha added a commit that referenced this pull request Oct 7, 2015
This seems to have changed as a result of #101
@jrha jrha mentioned this pull request Oct 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants