Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Revisions

kernel trunk r62359 (1.1-SNAPSHOT refresh)
kernel-1.0.x r62388 (1.0.8, 1.0.9-SNAPSHOT)

New versions

Tag: 1.0.8
Branch: 1.0.9-SNAPSHOT
Trunk 1.1-SNAPSHOT

Review 1.0.x/1.0.8 (tentative) merges

Confirm that all merges scheduled for kernel-1.0.8 have been merged to the 1.0.x branch.

Testing exceptions

None.

Backup /kernel repo directory

(warning) Be conservative. Back up https://source.sakaiproject.org/maven2/org/sakaiproject/kernel/ until we are sure that Maven properly pushes the new release to the repo.

No Format

cd /var/www/html/maven2/org/sakaiproject
tar -czvf  kernel-[YEARMONTHDAYHOURMINSEC].

...

tgz kernel

(minus) ACHTUNG! BASE POM <distributionManagement> RELEASE REPO TARGET HAS NOT BEEN UPDATED

David: the release repo target still points to file:///tmp/maven2. Unless, the pom is updated to automate this step you must copy the Maven2 the contents of org/sakaiproject/kernel locally to /tmp/maven2/org/sakaiproject/kernel.

Copy Maven2 /kernel locally

(warning) This step will be rendered obsolete if changes to <distributionManagement> to point directly at the Maven2 repo are implemented.

Start now as this can take some time. Folder copy will later serve as target for deploying artifacts generated during the deploy phase.

No Format
copy http://source.sakaiproject.org/maven2/org/sakaiproject/kernel 
to 
/tmp/maven2/org/sakaiproject/kernel

...

trunk/1.0.x

Code Block
xml
xml
<repository>
  <uniqueVersion>false</uniqueVersion>
  <id>local</id>
  <name>Local Test</name>
  <url>file:///tmp/maven2</url>
  <layout>default</layout>
</repository>

Backup Sakai Maven2 Repo /kernel

(warning) Create a backup copy of /kernel.

No Format
cd /var/www/html/maven2/org/sakaiproject
sudo cp -R kernel kernel-[current version]

Remove old 1.0.X SNAPSHOTS and <version> references in maven-metadata.xml files

\

No Format
bash deletesakaiartifact.bash  1.0.6-SNAPSHOT /tmp/maven2/org/sakaiproject/kernel

Checkout the kernel project

...

No Format
svn co https://source.sakaiproject.org/svn/kernel/branches/kernel-1.0.x/ kernel-1.0.x

(warning) Avoid opening it 1.0.x in Eclipse; otherwise you will pollute the projects with Eclipse metadata files that will have to be deleted before performing the release. Checkout with svn (not git)

...

Note: check for Eclipse metadata files (.classpath, .project) and remove. Uncommitted versions of these files will cause mvn release:prepare to fail.

Run integration tests

(warning) Note: not sure if we are ready for this step.

See integration test set up instructions at https://source.sakaiproject.org/svn/test-harness/trunk/xdocs/README-INTEGRATION-TESTING.txt

...

Issue the following release plugin goals:. Do a dry run first.

No Format
mvn release:prepare -DdryRun=true
mvn release:clean release:prepare release:perform

...

#set the released version to 1.0.8
#set the tag to kernel-1.0.8
#set the the new version to 1.0.69-SNAPSHOT

Should the build fail rerun the following mvn goals to restart the build:

No Format
mvn clean install 
mvn release:prepare

to restart the build.

...

Trunk vs Branch releases

(warning) Not applicable for this release.

When releasing from trunk, issue the branch goal to create a new branch:

...

The release plugin will generate a 1.0.8 tag. Check it out and make sure it works, binding it against a local working copy of 2.6.x.

Refresh Maven Repo with 1.0.8, 1.0.

...

9-SNAPSHOT and 1.1-SNAPSHOT artifacts

Each For each new release will require placement of corresponding kernel artifacts in the Maven2 repo.
Steps:version (release, SNAPSHOT) issue the following command from the root folder:

If a release:

mvn -Prelease clean install deploy -DupdateReleaseInfo=true

if a SNAPSHOT:

mvn deploy

1. Check out 1.0.x branch (1.0.69-SNAPSHOT) and perform

No Format
mvn deploy

2. Check out kernel trunk (1.1-SHAPSHOT) and perform

No Format
mvn deploy

For each new version (tag, SNAPSHOT) issue the following command from the root folder:

If a release:

mvn -Prelease clean install deploy -DupdateReleaseInfo=true

if a SNAPSHOT

mvn deploy

Maven will populate /tmp/maven2/org/sakaiproject/kernel with updated artifacts

SNAPSHOT refreshes

When refreshing SNAPSHOT artifacts, delete the existing artifact folder and contents before running mvn deploy.

bash deletesakaiartifact.bash 1.1-SNAPSHOT /tmp/maven2/org/sakaiproject/kernel

...

Maven will deploy the new artifacts to the Sakai Maven2 SNAPSHOT Repo automatically.

Populate Maven Repo

(warning) This step may be rendered obsolete if Maven can push kernel-1.0.8 to the repo target as part of the release process.

Tar up kernel artifacts. Copy to https://source.sakaiproject.org/maven2/org/sakaiproject/. Make sure backup of existing /kernel directory is in place. Delete existing /kernel for a clean refresh. Unpack kernel-1.0.8.tgz.

No Format

cd /var/www/html/maven2/org/sakaiproject
tar -czvf  kernel-[YEARMONTHDAYHOURMINSEC].tgz kernel

copy kernelrepo.tgz to Maven2 repo

No Format

cd /var/www/maven2/org/sakaiproject
rm -rf kernel
tar -xzvf kernel-1.0.8.tgz

Repo permissions

(warning) Make sure repo permissions are correct

sudo chown -R apache:apache kernel

Repo cleanup

Move old /kernel backup archive to /var/www/html/tarball. Delete kernel-1.0.8.tgz.

Base pom.xml updates

Update 2.6.x and 2.6.0 branch poms to bind to kernel-1.0.8. File a Jira on this in order to document pom updates.

Jira Kernel project

Go to "manage versions" console at http://bugs.sakaiproject.org/jira/secure/project/ManageVersions.jspa?pid=10410

Set 1.0.8 version to released; add 1.0.9 (tentative).

Jira Release Mgmt project

Update home page and Kernel page.

Inform community with email.

(warning) links for fixforversion need to be updated to point to 1.0.8.

Example:

No Format

I've released sakai-kernel-1.0.6 and updated the Sakai maven2 repo with fresh artifacts.  
1.0.6 has been released in support of the upcoming sakai-2.6.0 release.  
The issues addressed by 1.0.6 can be reviewed in Jira at

http://bugs.sakaiproject.org/jira/browse/KNL/fixforversion/11476

Issues addressed by earlier releases can also be reviewed in Jira at

http://bugs.sakaiproject.org/jira/browse/KNL?report=com.atlassian.jira.plugin.system.project:versions-panel


MAVEN2 REPO

The maven2 repo includes the following new or refreshed artifacts:

https://source.sakaiproject.org/maven2/org/sakaiproject/kernel)/
# author=Anthony Whyte, arwhyte@umich.edu

TARGET=$1
LOCATION=$2

cd $LOCATION
echo "Removing ${TARGET} folders and content recursively from ${LOCATION}"
rm -rf `find . -type d -name ${TARGET}`

Populate Maven Repo

Tar up kernel artifacts. Copy to source.sakaiproject.org. Make sure backup of existing /kernel directory is in place. Explode tar file.

No Format

tar -cvzf  kernelrepo.tgz /tmp/maven2/org/sakaiproject/kernel}}

copy kernelrepo.tgz to Maven2 repo

cd /var/www/maven2/org/sakaiproject
tar xvzf kernelrepo.tgz

Repo permissions

Make sure repo permissions are correct

sudo chown -R apache:apache kernel

Base pom.xml updates

Update 2.6.x and 2.6.0 branch poms to bind to 1.0.8

Jira Kernel project

Set 1.0.8 version to released; add 1.0.8 (tentative).

Jira Release Mgmt project

...


1.0.6
1.0.7-SNAPSHOT
1.1-SNAPSHOT


SVN

The 1.0.6 release has been tagged and the 2.6.x branch /master/pom.xml file 
has been updated to bind to 1.0.7-SNAPSHOT.  
When the next 2.6.0 tag is cut it will bind to K1 1.0.6.


KERNEL (K1) PROJECT INFO

Jira: http://bugs.sakaiproject.org/jira/browse/KNL
Confluence: http://bugs.sakaiproject.org/confluence/display/REL/Kernel+1+(K1)


NOTICE: TRUNK/CONTRIB DEVELOPERS DEVELOPING AGAINST K1

Please refresh your local development environment.

1. MVN: Backup/delete the .m2/repository/org/sakaiproject/kernel of
your repo
2. SVN: perform an svn update on sakai trunk code (this will pick up
Sakai updates that complement the K1 updates)
3. MVN: perform a clean and install on your sakai trunk code to
refresh your .m2 repo with updated kernel 1.1-SNAPSHOT artifacts.
4. Build and deploy to Tomcat.

cd master
mvn clean install
cd ..
mvn clean install -Dmaven.test.skip=true sakai:deploy

cheers,

Anthony

References

Maven Release Plugin
Maven mini-guide
J. Ferguson, "Using the Maven Release Plugin"