Make sure any pull requests have adequate unit test code coverage. You can check this without waiting for travis and codecov.io to do their thing by doing this:
> sbt coverage test
And then open up the file target/scala-2.11/scoverage-report/index.html
in your browser.
Tutorials should be added to the src/tutsrc
directory. Code blocks should typically use ```tuts instead of ```scala to add code. This will ensure the code blocks are checked by the compiler and the output shown inline. See tpolecat/tut for details.
Updating the site requires you to install jekyll first. In short, here's what you need to do for initial setup:
- Make sure you have ruby 2.0 or greater installed
- Run
gem install bundler
- Run
gem install github-pages
Once you're setup, to update the site, do this:
> sbt tut make-site
> sbt ghpages-push-site
You can also do sbt previewSite
to check things out locally, but you'll need to update the src/jekyll/_config.yml
file to change the baseurl
config to ""
. Just don't check that in and push or you'll break the live site. If you want to set up some kind of conditional to make this better, that would be great.
- Run
sbt lint:compile
and make sure it passes - Run
sbt tut unidoc
to make sure the docs all work still - Check your unit test coverage (see section above) to make sure your coverage is near 100%.
- Run a full suite of
sbt test
to make sure nothing broke
This will require access to the sonatype repo and to the PGP key used for signing releases.
- Go run
sbt lint:compile
if you haven't already. - Run
sbt tut make-site
to update the documentation. - Run
sbt release
to generate the artifacts and push them to sonatype. - Go to https://oss.sonatype.org, click on Staging Repositories, find the staged
comironcorelabs
item, select it and press theClose
button. - Wait a minute and refresh and make sure it closed successfully. Select the item again and click the
Release
button. - Once released, push the updated docs to the davenport website with
sbt ghpages-push-site
.