Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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_EXTENSIONSTOP/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.

...

Now assuming you have already made your changes to the relevant extensions and rebuild rebuilt them under $EPICS_TOP/extensions, making the new release of the extensions bundle is as simple as modifying the RELEASE file to point to the updated versions. For this example, we will be updating eget to R0.0.0-0.0.4, and labca to R3.8.1-0.1.0. We will also be removing procServ as it does not fit well with the other extensions. So the updated file will look as follows:

...

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. The Finally go ahead and push the commits, as well as tagging and pushing the new release.


Code Block
languagebash
# 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
languagebash
[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

...