This page documents the process to follow when deploying a new versions of EPICS Extensions at SLAC. Extensions at SLAC live in separate directories under $EPICS_TOP/extensions where they can be worked on separately. When it comes time to release new versions, they are re-bundled and placed also under $EPICS_TOP/extensions in a directory named after the version, such as R1.2.0.
NOTE: A video recording with additional information from Bruce Hill is available here.
To make the process for creating a new release clear, let's go through an actual example of creating and deploying a new release.
...
As long as everything looks good, go ahead and commit the changes to configure/RELEASE. Then update the RELEASE_NOTES file explaining what has changed for the new version. Finally go ahead and push the commits, as well as tagging and pushing the new release.
Code Block | ||
---|---|---|
| ||
# Assuming you have already pushed your commits changing RELEASE and RELEASE_NOTES:
git tag -a R1.3.0 -m "Tagging new extensions release R1.3.0"
git push origin R1.3.0 |
...
Now it's time to get the new release to the correct place under $EPICS_EXTENSIONSafs. Go ahead and make the new directory with the same name as the new release under $EPICS_EXTENSIONSTOP/extensions, and place the extensions repository there ensuring you check out the correct tag you just created:
...
Log into lcls-srv01 as the epicsmgr shared account. The following steps will mostly mirror what was just done on dev.
Warning |
---|
Two things of note, copy over the installLinks script from /home/epicsmgr/jesseb into $TOOLS/script (TODO: This needs to be committed into eco-tools so that this step isn't needed) Edit the RELEASE_SITE of the new extensions release to point to /usr/local/lcls/epics |
Code Block | ||
---|---|---|
| ||
[epicsmgr@lcls-srv01 jesseb]$ cd $EPICS_TOP/extensions
[epicsmgr@lcls-srv01 jesseb]$ mkdir R1.3.0
[epicsmgr@lcls-srv01 jesseb]$ git clone ssh:///afs/slac/g/cd/swe/git/repos/package/epics/extensions/extensions.git R1.3.0
[epicsmgr@lcls-srv01 jesseb]$ git checkout R1.3.0
[epicsmgr@lcls-srv01 jesseb]$ nano RELEASE_SITE # Edit to point to /usr/local/lcls/epics
[epicsmgr@lcls-srv01 jesseb]$ make |
...