-
We publish KeystoneML releases and snapshots to sonatype repository https://oss.sonatype.org/. To create a release you will first need to create a SonaType account.
-
Create and distribute a gpg key if you don't have one. The steps to do that are:
gpg --gen-key # Follow the prompts to create a key
# Publish the key to a keyserver. If this doesn't work go to https://sks-keyservers.net/i/
# and paste the output of gpg --armor --export <email-id-used-in-previous-step>
gpg --send-keys
- Add
sbt-pgp
andsbt-sonatype
to your plugins at~/.sbt/0.13/plugins/gpg.sbt
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")
-
Add your Sonatype credentials to
~/.sbt/0.13/sonatype.sbt
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "", "") -
Run
sbt/sbt +publishSigned
. This should be sufficient for a snapshot release. To use a snapshot release users will need to add the Sonatype snapshot repository to their list of resolvers. In SBT it looks like
resolvers ++= Seq(
"Sonatype staging" at "https://oss.sonatype.org/content/repositories/snapshots",
... // other resolvers
)
-
Update the build.sbt and the Makefile to reference the new version
-
Cut a release branch for major version releases
git checkout -b branch-v[major_version_here]
git add build.sbt
git add Makefile
git commit -m "Cut release branch for [major_version_here]"
- Tag the specific commit of the release branch to be released with its version, and push to the upstream AMPLab KeystoneML repo.
git tag v[full_version_here]
git push [upstream_keystoneml_reference] branch-v[major_version_here] --tags
-
We publish KeystoneML releases and snapshots to sonatype repository https://oss.sonatype.org/. To create a release you will first need to create a SonaType account.
-
Create and distribute a gpg key if you don't have one. The steps to do that are:
gpg --gen-key # Follow the prompts to create a key
# Publish the key to a keyserver. If this doesn't work go to https://sks-keyservers.net/i/
# and paste the output of gpg --armor --export <email-id-used-in-previous-step>
gpg --send-keys
- Add
sbt-pgp
andsbt-sonatype
to your plugins at~/.sbt/0.13/plugins/gpg.sbt
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")
-
Add your Sonatype credentials to
~/.sbt/0.13/sonatype.sbt
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "", "") -
Run
sbt/sbt +publishSigned
to deploy your artifact to a staging repository on Sonatype. -
Run
sbt/sbt sonatypeRelease
to close and release the repository. If that doesn't work, follow these instructions to close and release the staging repository. It will soon after be synced to the Central Repository.