Release Steps
-
check your repo is clean and you are on master branch
-
make sure you are using a clone of your usual repo! See below on the use of temporary local repo…
-
until ScalaTest releases a version which works with SBT and Scala 2.8.0 you might have to comment/uncomment the snapshot version in the root pom.xml
-
prepare the release
mvn release:prepare -P release
-
perform the release
mvn release:perform -P release
-
push the tag from git
git push origin scalate-project-1.0
-
update the download.page on the wiki
-
replace the use of any project_new_version variables in the website documentation with project_version
-
check the scalate_website/src/download.page and scalate_website/src/tool.page files are accurate for this release
-
edit the scalate_website/src/metainf file and change the project_version and project_new_version values
-
blog about the release by creating an entry in scalate_website/src/blog/releases
-
announce the release on the mailing list
Moving the website generation
-
if the release is a major release then deploy the current website in branch scalate-1.0.x to scalate.fusesource.org/version/1.0
-
create a branch for this new release if its a major release. For example if you’ve just done 1.0 then do this…
git co scalate-project-1.0 -b scalate-1.0.x git push scalate-1.0.x origin
-
amend the last-release webgen CI build to use the new branch scalate-1.0.x to update the website. That lets us update the documentation for the current release using this branch while master can become new features which don’t make it to the public site yet - but are available to surf in the scalate.fusesource.org/version/1.1-SNAPSHOT area of the site.
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
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.