Closed gvolpe closed 1 year ago
We can trigger the release action on push to the main branch but I think it would spam too much. A better alternative is eventually nightly publishing aka publishing once a day (at night) only if the main branch (here dev/2.0
) changed.
I do it on Redis4Cats and it's refreshing. You can forget about it once the tooling does it for you, in my case it's sbt-ci-release. The aim of the plugin is pretty clear:
This is an sbt plugin to help automate releases to Sonatype and Maven Central from GitHub Actions.
- git tag pushes are published as regular releases to Maven Central
- merge into main commits are published as -SNAPSHOT with a unique version number for every commit
AFAICS mill-ci-release has similar goals.
This is a Mill plugin modeled after the fantastic sbt-ci-release plugin which helps automate publishing to Sonatype from GitHub Actions with as little friction as possible. These are the key features of using the plugin.
- A new git tag is published as a regular release
- A merge is published as a SNAPSHOT release
- Auto versioning based on git by [mill-vcs-version](https://github.com/lefou/mill-vcs-version)
- A simple one-liner in CI to publish
What do you mean with spam too much?
PS. Nightly publishing would be good to me too 👍🏽
What do you mean with spam too much?
I mean publish too much artifacts if a day is particularly active (multiple merges, multiple push etc...)
That's the idea of snapshots :)
I mean, even in other projects like Dotty, Scalameta (granted they are way more active than Iron), they only publish nightlies IIRC
sbt-ci-release
makes this super easy. I assumemill-ci-release
does the same?This is great for those of us interested in trying out features not yet releases without resorting to a local publish (can't be shared).