-
-
Notifications
You must be signed in to change notification settings - Fork 350
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
Try and simplify publishing setup #3523
Conversation
@ckipp01 as the author of mill-ci-release would love to have your review on this if possible |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall I'm really happy to see this being inlined! I think small Quality of Life improvements like this go a long way! Here is a couple things that I'm not 100% sure this PR covers but I'd recommend making sure they are either covered already or should be considered. I found a lot of newcomers get bit by this and Sonaytpe just makes it confusing:
- Make sure there is an easy way to set the sontaype host uri. I've found having small helper like this quite useful..
- Warn if necessary things for Sonatype aren't configured to avoid confusion. Sontaype will just fail without clear messaging as to why. So I've found including checks for things like license and developers which are necessary really helpful. Here is how I did it. This would be nice to include.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I never used mill-ci-release
but I think having better and sensible defaults is nice.
If this is a directly code in-sourcing, please address the copyright, since mill-ci-release
has a compatible but different license.
Checking validation rules should not be hardcoded into |
This PR attempts to in-source most of the convenience provided by https://github.com/ckipp01/mill-ci-release into Mill proper. The boilerplate necessary to call
publishAll
on mac laptops or linux github actions environments was trivial and straightforward, so we just try to automate it:Prefix all environment variables with
MILL_
:MILL_SONATYPE_USERNAME
,MILL_SONATYPE_PASSWORD
,MILL_PGP_SECRET_BASE64
,MILL_PGP_PASSPHRASE
to try and add some rudimentary ownership and namespacingAuto-detect and import
MILL_PGP_SECRET_BASE64
, and auto-detectMILL_PGP_PASSPHRASE
and include it in the default GPG arguments.MILL_SONATYPE_USERNAME
andMILL_SONATYPE_PASSWORD
were already auto-detectedFlesh out the
defaultGpgArgs
to allow the optional passphrase to be passed in, and include all the flags that Mill uses in its own CI publishing jobSet the defaults for
readTimeout
,awaitTimeout
,stagingRelease
,publishArtifacts
to match the common conventionSet
release = true
by defaultUpdated the
ci/release-maven.sh
script to publish using a bootstrap version of Mill, so once this is merged I can immediately test it without needing to go through a rebootstrapping process. The current behavior when passing in flags explicitly should be unchanged, this just acts a lot more aggressively at setting defaults