-
-
Notifications
You must be signed in to change notification settings - Fork 69
Publishing Releases
Set up an access token at https://central.sonatype.org/publish/generate-token/ to use with the username and password below.
The simplest way to setup your Sonatype credentials before doing a release is just:
export SONATYPE_USER=...
export SONATYPE_PASS=xxx
You may need to run the following before using GPG:
export GPG_TTY=$(tty)
(1) Remove the snapshot version and perform a commit.
(2) Verify that all dependencies are on a release version, in particular dagr
.
(3) Perform the release
sbt +publishSigned
sbt sonatypeRelease
(4) Bump the version number and add -SNAPSHOT
. Do so for any dependencies which we want to use the snapshot version, in particular dagr
.
Please note that sbt sonatypeRelease
does the following:
sbt sonatypeClose
sbt sonatypePromote
(5) Add a release on github: https://github.com/fulcrumgenomics/fgbio/releases
Make sure to run sbt assembly
and add the release-version assembly-JAR (ex. fgbio-x.y.z.jar
) to the release.
(6) Update Bioconda
Bioconda should auto-detect version changes.
(7) Update GitHub Pages site (see below)
- Run the
run_metrics_doclet.sh
script to generatetarget/metrics.md
- Run
java -cp target/scala-2.13/fgbio-{version}.jar com.fulcrumgenomics.internal.InternalTools BuildToolDocs -o /tmp/docs.{version}
- Checkout the
gh-pages
branch of the repository and make sure it's up-to-date (i.egit checkout -b gh-pages origin/gh-pages && git pull --ff-only origin gh-pages
) - Copy
target/metrics.md
tometrics/{version}/index.md
(you will need tomkdir metrics/{version}
) - Copy (recursively)
/tmp/docs.{version}
totools/{version}
- In each of the
tools
andmetrics
directories delete thelatest
symlink and re-create it using a relative link to the new version. E.g.cd tools && rm latest && ln -s {version} latest && cd ..
. - Add the new files to git. E.g.
git add tools/{version} mertrics/{version}
. - Edit the
index.md
file to change the JAR version (ex.0.1.4
to0.2.0
). - Commit the changes to the documentation and
git push
the gh-pages branch.