-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Currently snapshots are not published in between releases, it would be neat to have them for early adoption of new features.
Looking at the release process, I do not think it is possible to implement snapshots without changes to it, because each module being released separately does not play well with automation of tools like sbt-ci-release and sbt-dynver, because it is difficult to determine which modules in the sbt project change and which of them require version bumps in an automated way.
Having this in mind, I see only two ways to implement snapshots:
- Release whole repository under a single version.
- Use https://github.com/sbt/sbt-ci-release and https://github.com/scalacenter/sbt-version-policy to set it all up
- This is likely how all Scala OSS projects that have automated publishing of both releases and snapshots do it.
- Version policy becomes project-wide, kind of looses its meaning.
- Split modules up to their own repos.
- Implement separate release processes with https://github.com/sbt/sbt-ci-release and https://github.com/scalacenter/sbt-version-policy.
- Too much of a hassle during development.
- Might work okay with git submodules.
- Not my personally preferred route.
Since there are tradeoffs in proposed changes, I guess the question is - manual release process with correctly enforced version policy for all modules or having automated snapshot publishing, which of these is more beneficial? I am obviously leaning towards the latter, but I might be missing some details on why release process for guardrail is the way it is now.
Thoughts?