Wednesday, August 6, 2014

Publishing play-slick [draft]

Here are my raw notes from my latest publish. They need to be verified for another release and then they can be turned into proper documentation.

  1. Create release branch.
    git checkout -b release-0.8.0
  2. Bump version in code/build.sbt.
    version := "0.8.0"
  3. Commit changes
  4. Go into plugin source directory.
    cd code
  5. Publish local.
    sbt +publish-local-signed
  6. Smoke test with Activator template.

    Source: https://github.com/loicdescotte/activator-play-slick

    Template: https://typesafe.com/activator/template/play-slick-quickstart

  7. Publish to OSS Sonatype staging repo (see guide).
    sbt +publish-signed
  8. Log in to repo admin interface.
  9. Close repository.
  10. If closing fails, fix problems and try publishing again.
  11. Smoke test again by adding repo to Activator template's build.sbt.
    resolvers += "Test repo" at "https://oss.sonatype.org/content/repositories/comtypesafe-1188"

    Remember to clear ivy cache first so you're not picking up the artifacts from your publish. Check that you see lines like the following for each Scala version you test.

    [info] downloading https://oss.sonatype.org/content/repositories/comtypesafe-1188/com/typesafe/play/play-slick_2.11/0.8.0/play-slick_2.11-0.8.0.jar ...
    [info]  [SUCCESSFUL ] com.typesafe.play#play-slick_2.11;0.8.0!play-slick_2.11.jar (3012ms)
    
    [info] downloading https://oss.sonatype.org/content/repositories/comtypesafe-1188/com/typesafe/play/play-slick_2.10/0.8.0/play-slick_2.10-0.8.0.jar ...
    [info]  [SUCCESSFUL ] com.typesafe.play#play-slick_2.10;0.8.0!play-slick_2.10.jar (3162ms)
    
  12. Fix up any changes and commit to release branch. Squash commits.
  13. Tag release. We're not pushing the release branch, just the tag.
    git tag -a -s -m 'Releasing 0.8.0' v0.8.0
    git push origin v0.8.0
    
  14. Create branch off master and update README.md with update version information. Create a PR for the update.
  15. Optionally create a PR for the Activator template with updated versions.
  16. Release the OSS Sonatype staging repository.
  17. Wait for Maven Central to sync. Can take a few hours.
  18. Once artifacts are available in Central, optionally smoke test again.
    [info] downloading http://repo1.maven.org/maven2/com/typesafe/play/play-slick_2.11/0.8.0/play-slick_2.11-0.8.0.jar ...
    [info]  [SUCCESSFUL ] com.typesafe.play#play-slick_2.11;0.8.0!play-slick_2.11.jar (3215ms)
    
    [info] downloading http://repo1.maven.org/maven2/com/typesafe/play/play-slick_2.10/0.8.0/play-slick_2.10-0.8.0.jar ...
    [info]  [SUCCESSFUL ] com.typesafe.play#play-slick_2.10;0.8.0!play-slick_2.10.jar (3524ms)
    
  19. Merge PR with updated README.md.
  20. Announce with a cross-post to scalaquery and play-framework lists.

No comments:

Post a Comment