Merge all SVN folders with previous branches (done for 2.2.0)
Edit all the pom.xmls <version> tags (done for 2.2.0)
Edit all the README.txt files (looked at some of them for 2.2.0)
Edit all misc/version.properties (done for 2.2.0)
Grouper client
Look for other occurrences of grouper.client*.properties and refresh them (done for 2.2.0)
Look for grouperClient.jar in SVN, and update it after build (done for 2.2.0)
Grouper API
Grouper installer
Grouper UI
Grouper WS
Search for the old version (e.g. 2.1.2 or 2_1_2 or 2_1_002) in all the files (dont for 2.2.0)
Tag all (API, UI, WS, QS, client, etc) (done for 2.2.0)
For a major release, do a branch for all (API, UI, WS, QS, client) as e.g. GROUPER_1_4_BRANCH (won't do until we start work on 2.3.0)
For the final build, replace all the pom.xml <version>x.y.z-SNAPSHOT</version> with the <version>x.y.z</version>, then tag, and then branch or change to <version>x.y.(z+1)-SNAPSHOT</version> (done for 2.2.0)
See which config files / jar files / ddl changed since last release, make sure there are entries in the change log.
Run the copyright wizard on the entire branch for java files. Note, only new files should have diffs... this is the custom copyright:
Copyright 2012 Internet2 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. |
Review UI / WS code changes* from the previous version with respect to Open Web Application Security Project (OWASP) top 10 web application security vulnerabilities. (dont do for 2.2)
If possible run a security scan against a test instance - University of Pennsylvania via Chris? (dont do for 2.2)
*We have not carried out a thorough security review of the existing code base for any version of Grouper. We should do that in order for the incremental reviews to be adequate. (dont do for 2.2)
Run API (SuiteDefault) junit tests (set true in all junit test includes in grouper.properties). Also run the Grouper Installer, it should end in success for the client connecting to the WS and you should be able to use the UI.
API JUnit Tests
Database |
Linux |
OS X (10.6) |
Solaris |
Windows |
---|---|---|---|---|
HSQLDB |
|
|
|
|
MySQL |
|
|
|
|
Oracle |
|
|
|
|
PostgreSQL |
|
|
|
|
MsSQL |
|
|
|
|
create role GrouperRole; GRANT connect, resource, CREATE view TO GrouperRole; CREATE USER groupertest IDENTIFIED BY <pass>; GRANT connect, resource, GrouperRole TO groupertest; |
ps -ef | grep java --- kill hsql wget http://www.internet2.edu/grouper/release/x.y.z/grouper.apiBinary-x.y.z.tar.gz cd grouper.apiBinary-2.0.0 cd bin java -cp ../lib/jdbcSamples/hsqldb.jar org.hsqldb.Server -port 9001 -database.0 file:grouper -dbname.0 grouper & ./gsh.sh -registry -runscript ./gsh.sh -test -all |
Try checkConfig tests.
Upgrade from x.y-1 to x.y (e.g. 2.0 to 2.1).
Install the grouper installer
Database |
Linux |
OS X (10.6) |
Solaris |
Windows |
---|---|---|---|---|
HSQLDB |
|
|
|
|
MySQL |
|
|
|
|
Oracle |
|
|
|
|
PostgreSQL |
|
|
|
|
MsSQL |
|
|
|
|
Web Service JUnit Tests (Grouper WS and Grouper Client) (done for 2.2)
WS samples (done for 2.2)
WS javadoc (generate, commit, test). Make sure new operations / args / etc are documented in the WS doc page
Build all with: \[mchyzer@i2mibuild mchyzer\]$ bin/buildGrouperAll.sh GROUPER_x_y_z |
Resulting .tar.gz's are in ~mchyzer/tmp/grouperAll/build_<username>. There are both source and binary tarballs for the API and Client packages.
sftp webprod0.internet2.edu lcd /home/mchyzer/tmp/grouperAll/build_username mkdir /home/htdocs/www.internet2.edu/grouper/release/1.2.12 cd /home/htdocs/www.internet2.edu/grouper/release/1.2.12 mput *.tar.gz |
\[appadmin@i2midev1 2.0.0\]$ pwd /opt/grouper/2.0.0 \[appadmin@i2midev1 2.0.0\]$ ./upgrade_2.0.0.sh |
After tagging, publish to maven central by following the instructions on v2.1.0 Grouper Development Environment Using Maven.
Copy grouper.psp-version.tar.gz
to the release URL.
Generally roll notes from the oldest release off and add notes for the new release. Keep previous release notes in there, so that we always have current + previous.
https://spaces.at.internet2.edu/display/Grouper/Grouper+Downloads
Just update the "NEW!!" message on this page. Maybe review the Background section to see if it could use some freshening. Maybe add a news item
As of Feb. 2012, these procedures were adopted regarding release numbering and testing:
- The X.X.0 release will be considered a pre-release, like a Release Candidate
- That will be the testing release
- The X.X.1 release will be the actual release, presumably after any initial bugs identified have been fixed.
email to mw-announce \[at\] internet2.edu email list |