Committer release process

pre-requis

  1. request an account to the project owner (David Pollak)
    • on the dav.scala-tools.org server
    • as member of the group ‘net.liftweb’
  2. add to your $HOME/.m2/settings.xml
      <settings>
        <servers>
          <server>
            <id>nexus.scala-tools.org</id>
            <username>''MY_LOGIN''</username>
            <password>''MY_PASSWORD''</password>
          </server>
        </servers>
      </settings>
    

deploy quick guide

Release Procedure

D -x days

H -0

We need Maven 2.2.1 and JDK 1.5 to build.
We also use maven-release-plugin
release (include tagging the source, changing the version, deploy to repository… you don’t need to install this plugin; Maven will handle it automatically):

History

Lift 1.1-M7

date: 2009-11-04
releaser: Charles Munat
total duration: ???
comments: Problems with Nexus/Hudson fixed by Josh. Otherwise smooth, but took most of the day.

Lift 1.1-M6

date: 2009-10-08
releaser: Charles Munat
total duration: 1h30
comments: Fairly smoothly. Forgot to update version number on commit and had to push twice. Doh.

Lift 1.0.2

date: 2009-09-10
releaser: Derek Chen-Becker
total duration: 1h45
comments:

Lift 1.0.1

date: 2009-09-09
releaser: Derek Chen-Becker
total duration: 1h45
comments:

= Lift 1.1-M5 =
;date: 2009-09-08
;releaser: Charles Munat
;total duration: 6h45
;comments:
:* Non-stop hassles, mostly related to having switched to a new computer recently. Needed a bigger heap was the main thing.

= Lift 1.1-M4 =
;date: 2009-08-04
;releaser: Charles Munat
;total duration: 1h45
;comments:
:* No problems. Had guidance from Jorge, who disappeared for 23 mins, so actual duration was more like 1h22.

= Lift 1.1-M3 =
;date: 2009-07-02
;releaser: Jorge Ortiz
;total duration: 1h20
;comments:
:* Charles had trouble with Maven. I finished up for him. No major troubles but the instructions need updating.

= Lift 1.1-M1 =
;date: 2009-05-01
;releaser: Jorge Ortiz
;total duration: 2+h
;comments:
:* Had to fix parts of pom because of changes to scala-tools
:* Weird non-deterministic compile errors. (I’ve seen this happen before with Maven + Scala 2.7.4 + my Mac.) Eventually the compile went through.
:* Could not generate site (mvnsite) no matter how much I tried. Kept getting errors.

= Lift 0.9 =
;date: 2008-06-15
;releaser: David Bernard
;total duration: 1h20
;comments:
:* failed to tag (in git) the code (tag doesn’t display on github)
:* update the process to reflect the change of scm : svn to git
:* remove some step in the process like dry run for deploy,… (+/- useless and very longer)
:* (same as previous release) I really should improve the upload
:* (same as previous release) I should remove useless upload (like xxx-project.tar.gz and xxx-project.zip, and only keep xxx-project.tar.bz2)

= Lift 0.8 =
;date: 2008-05-09
;releaser: David Bernard
;total duration: 3H30
;comments:
:* api is not deployed (issue with some classes, I’ll deployed ASAP)
:* I really should improve the upload
:* I should remove useless upload (like xxx-project.tar.gz and xxx-project.zip, and only keep xxx-project.tar.bz2)
:* I should diseable backup tool during release to avoid CPU/disk activity (compress 12Gb) and to avoid disk full => redo some operation 30min left
:* I should simply the process (may be remove some step)

= Lift 0.7 =
;date: 2008-04-03
;releaser: Steve Jenson
;total duration: 5:30 (new record holder)
;comments:
:* DAV account wasn’t ready, dpp fixed that
:* had a massive problem with mvn release half-building the release, had to roll back the 3 release changesets and start over
:* had recurring OutOfMemory errors even though I always started the build with at least 2G of free memory. Used MAVEN_OPTS=“-Xmx1024M -Xms1024M” to ensure I had enough memory.
:* Spotlight on OS X hogs up huge amounts of memory during the build. disable it for liftweb directory to keep your cpu usage lower.
:* had a problem with SVN not liking my LC_ALL, so set it to LC_ALL=en_US to get around it.
:* had a problem with Java not finding Maven so I had to do some shuffling of files around ($PATH had no effect on this error)

= Lift 0.6 =
;date: 2008-03-10
;releaser: Eric Torreborre
;total duration: 03:00:00 (yes, I have the record!)
;comments:
:* The first release:prepare failed because of svn. I had to do first an “svn update” on the command line to accept the certificate from the googlecode site, then I was able to re-execute that goal.
:* Had an issue when generating the Scaladoc, removed the site generation from the process (by adding -Dgoals=deploy to the mvn release:perform goal). This will be done later.
:* Eclipse was locking the jars in the repository, forbidding their update. This shown up as maven complaining about an undownloadable jar file (activation-1.0.2.jar)
:* I had to remove the old Scala 2.7.0 libs first from my local repository.

= Lift 0.5 =
;date: 2008-02-05
;releaser: Jorge Ortiz
;total duration: 01:30:00
;comments:
:* some test is running derby and not cleaning up after itself, had to manually delete lift/derby.log a few times
:* didn’t realize I had to edit changes.xml, will edit this page to reflect that

= Lift 0.4 =
;date: 2008-01-07
;releaser: David Bernard
;total duration: >02:00:00
;comments:
:* lot of trouble with dav on scala-tools.org
:* need to fix configuration on server
:
* lot of timeout => TODO find an other protocol for deployement

= Lift 0.3.0 =
;date: 2007-12-07
;releaser: David Bernard
;total duration: 01:20:00
;comments:
:* first deploy on http://scala-tools.org/ (release, snapshots, mvnsites)
:* write the procedure
:* need to change the procedure during release, site-deploy (done by release:perform by default) is too long through dav protocol (files are push one by one != scp (create a zip, push, unzip))