retro

retro

  • toctoc
  • enumero
  • sbt-buildo
  • tapiro
  • mailo
  • wiro
  • GitHub

›Contributing

Contributing

  • Contributing to the website
  • Managing releases
Edit

Managing releases

We automatically publish all libraries in the monorepo to Sonatype on every commit on master.

We use a modified version of sbt-ci-release that handles publishing multiple packages at once.

We publish both stable and snapshot releases, based on the strategy detailed below.

Snapshot releases

Snapshot releases are published for every library for every commit on master. Their version is computed using a modified version of sbt-dynver that handles tag prefixes (see the next paragraph).

To use snapshot releases, projects must add Sonatype snapshots resolver to their Sbt build:

resolvers += Resolver.sonatypeRepo("snapshots")

Stable releases

Stable releases are published whenever there's a matching Git tag associated with a current commit on master.

Each project in the monorepo can configure the dynverTagPrefix setting to declare its matching tag.

👉 Example: enumeroCore and enumeroCirce use enumero- as their tag prefix, meaning that a stable release will be published whenever a Git tag starting with enumero- is found on master.

Releasing a stable version

To release a new stable version of a library, push a Git tag on master with this pattern: <PREFIX>v<VERSION>.

👉 Example: you can release the version 1.0.0 of enumeroCore and enumeroCirce by pushing the enumero-v1.0.0 tag.

You can do this directly from the new release page on GitHub

Stable releases are automatically synced with Maven Central, meaning you can depend on them without adding any resolver to Sbt. The sync process usually takes ~10 minutes.

← Contributing to the website
  • Snapshot releases
  • Stable releases
    • Releasing a stable version
retro
Docs
InstallationConcepts
More
TwitterGitHubStar
Copyright © 2024 buildo