Skip to content
This repository has been archived by the owner on Dec 31, 2020. It is now read-only.

Releasing

Eron Wright edited this page Dec 23, 2015 · 7 revisions

WikiDevelopmentReleasing

Background

PGP Signing Key

To create a key, follow these instructions at sonatype.org. If you're using Mac OS X, use Homebrew to install gnupg.

The signing key should exist as shown below.

# brew info gnupg
gnupg: stable 1.4.19 (bottled)
GNU Pretty Good Privacy (PGP) package
https://www.gnupg.org/
/usr/local/Cellar/gnupg/1.4.19 (53 files, 5.5M)

# export PATH=$PATH:/usr/local/Cellar/gnupg/1.4.19/bin/

# gpg --list-secret-key
/Users/eron/.gnupg/secring.gpg
------------------------------
sec   2048R/3D48BB6D 2015-11-14
uid                  Eron Wright <[email protected]>
ssb   2048R/1B7E9EEC 2015-11-14

OSSRH

To publish to Maven Central, an account was provisioned by filing OSSRH-18841 as per these instructions.

Build Plugins

sbt itself handles the core publishing task of uploading artifacts to a staging area on Maven Central. It is able to publish both snapshots and releases, depending on the current version number.

The sbt-release plugin manages the release process. A key feature is automatic handling of the version number. The concrete steps may be seen in build.sbt.

The sbt-sonatype plugin automates the staging procedure that culminates in a published release on Maven Central.

The sbt-pgp plugin handles digital signing of the artifacts.

Procedure

Here's the procedure to release cookie-datasets.

  1. Ensure that the working directory is clean. Subsequent tasks will fail otherwise.
  2. Execute sbt release.
  • Answer questions regarding the 'release' and 'next' version number. Releases are of the form x.y.z, whereas next versions are of the form x.y-SNAPSHOT.
  • The plugin will update the version number, build & test, sign & upload, then drive thru the remote staging procedure.
  • Finally the version will be updated to 'next'.
  1. Once the binary is on Maven Central (within a few minutes?), update the Spark Package.
  • This is amenable to automation but it is untested at the moment.
  • Log in to spark-packages, and publish the release using the coordinates and commit id from (2).

Getting Started

Formats

Development

Clone this wiki locally