APT CM Instructions
APT
Branch Instructions
Example shown uses values for branching APT 16.2
# Do: Send e-mail saying branch in progress, no commits.
# Do: Login into ra as sstadmin
cd crons
# Do: edit aptVersion.sh. Make sure the branch tag is appropriate.
# Typically, we use the APT version followed by the date
# aptBranchTag=APT162_20070314 ; the actual branch tag
# aptEmail=tdonaldson@stsci.edu ; who should be notified and given further instructions
# ; when the various scripts complete
# Create the branch
./aptBranch.sh
# Do: Checkout a world using the branch tag and make sure it builds.
# Do: Send e-mail saying branch complete. Include branch tag in e-mail.
APT
Release
Instructions
Example shown uses values for releasing APT 17.2.2
# Do: Login into ra as sstadmin
cd crons
# Do: edit aptVersion.sh:
#
aptExternal=1 ; 1 for external release, 0 for internal only
(does not change the link in the apt.stsci.edu download page)
# aptVersion=APT1722
; this will be the name of the download bundle and Solaris
install dir
#
aptBranchTag=APT172_Branch_20080428 ; the actual
branch tag
#
aptStartTag=deliver_APT172_20080527
; this is the tag from which code will be merged
during
merge
#
aptFinalTag=deliver_APT1722_20080617
; this is the tag to which code will be merged
during
merge.
#
; It will not exist in CVS until the aptLink step.
#
aptEmail=tdonaldson@stsci.edu ;
who should be notified and given further instructions when the various
scripts complete
# Run the build/install
./aptInstall.sh >& ai.out
# Do: Look at the end of ai.out for errors.
# Do: Make sure new build is on web at
/data/aten2/htdocs/apst/apt/external/downloads
# (i.e.,
http://apst.stsci.edu/apt/external/downloads/)
# Do: Make sure APT installation is on nedra:/usr/local/APT
# Do: Ask testers and developers to aliveness test the downloads and
the Solaris installation
# To avoid messing up operations, it's good to rsync the Solaris files
immediately, so...
# On wizard.sogs.stsci.edu as sstadmin:
cd crons
./rsync.sh
# I do not know how to force a sync to /usr/local/APT on the
science network, but that really doesn't matter anymore.
#
Those updates happen every night and are done by ITSD.
If we start to
care, we could ask them how to force it to happen immediately.
# Update links. This sets the apt web page to point to this
new release, and
# updates the links in /usr/local to point to the new version.
It also
tags the branch with the aptFinalTag from above to prepare for merging.
./aptLink.sh >& al.out
# To rsync immediately:
# On wizard.sogs.stsci.edu as sstadmin:
cd crons
./rsync.sh
# Do: Send out SDN
To: apt-list at stsci.edu; apt-users at stsci.edu
Subject: APT 17.2.2 SDN
Hello all:
APT version 17.2.2 is now available for download from the apt web page:
http://apst.stsci.edu/apt/external/downloads/APT1722installers/Web_Installers/install.htm
APT version 17.2.2 has been installed on the SOGS network as
"op-apt" and "hot-apt" and is available for Operational use immediately.
It will be available on the Science network by tomorrow.
This is the initial release for Cycle 17, Phase II, support.
The following PRs were implemented for this release:
http://www.ess.stsci.edu/prsystem/servlet/prsearch?format=HTML&report=View+Build&order=npr.ipriority&BUILD_ID=APT+17.2.2&cmd=Submit
If you run into any problems with APT 17.2.2, please send mail to
apt@stsci.edu.
Thanks,
Tom
# Do: If users of the old version need to be notified to download the
new
# version, create a startup message for that version in
# /data/aten2/htdocs/apst/apt/external/help/startup
# Generate source bundle (optional. only needed for
SOFIA and Max Planck)
./aptSourceJar.sh (not this time)
##########################################################
# Do: Send e-mail like this so that the ESA mirror
site gets the build:
To: mkuemmel at eso.org;stdesk at eso.org
CC: peterson at stsci.edu
Subject: APT 17.2.2 is available for download
Hello Martin,
APT 17.2.2 is available for download from the apt web site:
http://apst.stsci.edu/apt/external/downloads/APT1722installers.zip
The main purpose of this release is to add a new aperture (UVIS-CENTER)
for WFC3. This was supposed to be included in APT 17.2.1, but
was
accidentally removed after that version passed testing.
Please let me know if you have any difficulties downloading or
installing APT.
Best Regards,
Tom Donaldson
APT
Merge
Instructions
This merge can be done on your local computer.
Example shows
third merge from 17.2 onto main (right after 17.2.2 delivery)
# DO: send e-mail to developers asking them not to commit.
# DO: read these comments about tags.
This is between deliver_APT172_20080527 and deliver_APT1722_20080617,
which should be the values set during the delivery in aptVersion.sh for
aptStartTag and aptFinalTag. The final tag is set during the
aptLink.sh portion of a release. If a merge is one without
that step
(or without a release), the tag on the branch must be set manually with
"cvs rtag -r <branch> <newTag> APT".
When
the merge is not the first one on the branch, it is important to get
the start tag right. The start tag on the branch should be
the final
tag of the previous merge.
# Check out main into a new directory.
mkdir merge1722
cd merge1722
cvs co APT
cd APT
cvs update -j deliver_APT172_20080527
-j deliver_APT1722_20080617 . >& ../merge.txt
# DO: Look in ../merge.txt for conflicts and resolve them.
# DO: Make sure version number is still good for main (in
HstAptController.java).
# Make sure it builds.
ant redeliver
# Tag main before committing.
cvs tag mainPreMerge_APT1722_20080617
# Commit
cvs commit -m "Merge from APT172_20080522_merge to
deliver_APT172_20080527 onto main
between mainPreMerge_APT1722_20080617
and mainPostMerge_APT1722_20080617"
# Tag main after committing
cvs tag mainPostMerge_APT1722_20080617
# DO: send e-mail to apt developer that the merge is
complete.
Include all the above tags, and the parts of merge.txt that
indicate
what changed. Mention if there were tricky conflicts.
Alternate example (uses aptMerge.sh script) uses values for
merging
from a portion of the APT 16.4 branch to main. Must be done
on ra, making conflict resolution more difficult.
# Do: Send e-mail (merge in progress)
# Do: login into ra as sstadmin
cd crons
# Do: edit aptVersion.sh. Make sure start and end tags are appropriate.
# They indicate the points on the branch between which changes will be merged onto main.
# If you just did a release properly, these values should be set already.
# aptExternal=1 ; for external release
# aptVersion=APT1642 ; this will be the name of the download bundle and Solaris install dir
# aptBranchTag=APT164_20070725 ; the actual branch tag
# aptStartTag=APT164_20070907_merge ; this is the tag from which code will be merged during merge
# aptFinalTag=APT164_20071017_merge ; this is the tag to which code will be merged during merge.
# ; It will not exist in CVS until the aptLink step.
# aptEmail=tdonaldson@stsci.edu ; who should be notified and given further instructions when the various scripts complete
# If this wasn't done immediately after a delivery, we will need to tag the
# latest branch code with the aptFinalTag. During a delivery (the aptLink step),
# the final tag will be created automatically.
cvs rtag -r APT164_20070725 APT164_20071017_merge APT
# Start the automatic part of the merge.
./aptMerge.sh >& am.out
# Do: Examine /home/sstadmin/clean/merge.txt for conflicts, and fix them
# Do: Make sure APT version number is still correct for main.
# Make sure it builds, tag, commit, then tag again.
cd /home/sstadmin/clean/APT
ant deliver
cvs tag mainPreMerge_APT164_20071017
cvs commit -m "Merge from APT164_20070907_merge to APT164_20071017_merge between mainPreMerge_APT164_20071017 and mainPostMerge_APT164_20071017"
cvs tag mainPostMerge_APT164_20071017
# Do if necessary: Edit HstAptController on the *branch* and commit the appropriate version number.
# Do: Send e-mail that the merge is complete.
PP
Release Instructions
Example shown uses values for
releasing PP 16.2.2
# Do: Verify that <RPS2>/utilities/versions.tcl contains the appropriate version number.
# Commit a change if necessary.
# Do: Login as sstadmin on ra.
# Tag the latest rps2 with a tag reflecting this release's version number.
cvs -d /data/eos1/lambda/develop/cvs rtag rps2_16_2_2 rps2
# Do most of the delivery.
cd crons
./nightlyDeliverRPS2.sh
# Do: Verify that /usr/local/rps2 on nedra has new directory for this version.
# Do: For rsynch, log into wizard (sogs)
cd crons
./rsync.sh
# Do: To update the hotrps2 link, log in to sstadmin on nedra
cd /usr/local/rps2
rm hotrps2; ln -s rps2_16_2_2 hotrps2
# Trans uses PP in /data/eos2/lambda/deliver/rps2 on science. Change it to current build.
cd /data/eos2/lambda/deliver
rm rps2; ln -s rps2_16_2_2 rps2
# rsync the new links to sogs; log into wizard (sogs)
cd crons
./rsync.sh
# Do: Send SDN
Other Notes
- The nightly build jobs are all run on ra by sstadmin.
- Items not covered here may be covered in this older document.