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

docs: add mill-ci-release to third party plugins. #2013

Merged
merged 1 commit into from
Sep 1, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions docs/antora/modules/ROOT/pages/Thirdparty_Plugins.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,40 @@ Limited bash completion support.

Project home: https://github.com/lefou/mill-bash-completion

== CI Release

`mill-ci-release` is a wrapper around the existing publish functionality of
Mill with the aim to making releasing your project in GitHub Actions to Maven
easier by automating common setup such as setting up gpg in CI, setting up
versioning, and ensuring merges to into your main branch get published as a
SNAPSHOT. If you're coming from sbt, then you're likely familiar with
https://github.com/sbt/sbt-ci-release[`sbt-ci-release`] which this plugin
imitates.

Project home: https://github.com/ckipp01/mill-ci-release

=== Quickstart

To get started, you'll want to use `CiReleaseModule` as a drop in replacement
where you'd normally use the Mill `PublishModule` and then ensure you implement
everything that `PublishModule` requires.

Secondly, you'll need to ensure you have a few environment variables correctly
set in your GitHub repo. You can see detailed instuctions on which are
necessary https://github.com/ckipp01/mill-ci-release#secrets[here].

Then in CI to publish you'll simply issue a single command:

[source,yaml]
----
- run: mill -i io.kipp.mill.ci.release.ReleaseModule/publishAll
----

This will automatically grab all the artifacts that you've defined to publish
in your build and publish them. Your version will automatically be managed by
https://github.com/lefou/mill-vcs-version[`mill-vcs-version`] and if your
version ends in `-SNAPSHOT` you're project will be published to Sonatype
Snapshots or to the normal releases if it's a new tag.

== DGraph

Expand Down