Release Guide

How to create releases of Scalate

Release Steps

Various documentation changes first (which should be done before the release is cut)

If the release is a major release then we need to freeze the current website at scalate.github.io/scalate/versions/lastVersion

Cutting the release

Creating a branch for this release and website changes

If this is a major release…

What all this means is now that you should be able to amend the website for the current release using the scalate-project-1.2 branch. You can also document new upcoming features for the next release which go into the master branch which should be auto-deployed to the snapshot website

Using a temporary local repo

To avoid pushing to the remote repo in experimental attempts at releasing, you can clone your local repo…

git clone file:///foo/scalate scalate-release

You probably want to set this property too if you’re using git 1.6 or later to avoid your release prepare barfing…

git config receive.denycurrentbranch warn

then edit your ~/.m2/settings.xml file and add this…

<settings>
  <profiles> 
    <profile>
      <id>release</id>
      <properties>
        <release-altGitURL>scm:git:file:///foo/scalate</release-altGitURL>
      </properties>
    </profile>
  </profiles>	

then perform a release in this new scala-release directory. This will then push to your local repo, not the remote one.