Content
Merge as we go
O'Grady, Paul Christopher <cpo@slac.stanford.edu>
Mon 7/6/2020 2:49 PM
Hi Mikhail and Valerio,
To make things easier going forward, I propose we "merge as we go" from the master branch to the py3 branch whenever we make changes to psana1. This would entail (only for packages with a ?py3? branch!):
- making sure all changes are py3 compatible. unfortunately we don?t have a good way of doing this at the moment apart from looking at the code (we don?t have a ?test release? mode for the new-style psana1)
- git checkout py3
- git merge master # changes from master goes to py3 branch
- git push origin py3
...
chris
-------------
and return branch back to master
- git checkout master
py3 local release for psana1
- pcds-ana-
As you requested, I believe I have a first-pass version of the “test release” idea working with the new-style psana1 (both py2 and py3). See below for an example py3 session. It isn’t rock-solid: the situation that is currently not as good as the old-style test release is that you can’t switch between different test release directories in one session ... you have to logout/login and redo the “conda_setup” below in the new test release directory. But given that only developers will see this (mostly you and me, maybe Chuck and Valerio) I think it’s a reasonable tradeoff: the scripts are much simpler if we don’t have to delete stuff from PATH, LD_LIBRARY_PATH, PYTHONPATH.
It’s a first-pass so there may be problems. Let me know if you see any.
chris
----------------------------------------------------------
creating a test release:
source /reg/g/psdm/sw/conda1/manage/bin/psconda.sh -py3
(potentially activate the right conda env if you don’t want the default)
mkdir mytestrel
cd mytestrel
source /reg/g/psdm/sw/conda1/manage/bin/conda_setup
git clone https://github.com/lcls-psana/psana
git clone https://github.com/lcls-psana/python
cd psana
git checkout py3
cd ..
scons
reusing an existing test release:
source /reg/g/psdm/sw/conda1/manage/bin/psconda.sh -py3
cd mytestrel
(potentially activate the right conda env if you don’t want the default, you can see which one is correct in the file .sit_conda_env: it will give you an error if you have it wrong)
source /reg/g/psdm/sw/conda1/manage/bin/conda_setup
scons
New psana1 test release
O'Grady, Paul Christopher <cpo@slac.stanford.edu>Mon 12/14/2020 9:15 PM
Hi Mikhail,
I think the following commands work for me for py3:
mkdir mytestrel
cd mytestrel
source /cds/sw/ds/ana/conda1/manage/bin/psconda.sh -py3
source /cds/sw/ds/ana/conda1/manage/bin/setup_testrel
git clone git@github.com:lcls-psana/Detector.git
source /cds/sw/ds/ana/conda1/manage/bin/activate_testrel
scons
I wrote these scripts quickly, so they aren’t robust, but hopefully a good starting point.
Right now they hardwire py3, but with a little work I think we can also make it work with the new-style py2.
chris
=====
Additional commands
cd <package-name>
conda checkout py3 # FOR EACH PACKAGE
Commands at 2-nd entry
rm .sit_conda_env
cd mytestrel
source /cds/sw/ds/ana/conda1/manage/bin/psconda.sh # for py2 by default
OR
source /cds/sw/ds/ana/conda1/manage/bin/psconda.sh -py3
source /cds/sw/ds/ana/conda1/manage/bin/setup_testrel
git clone git@github.com:lcls-psana/Detector.git
scons
New style test release from 2021-01-04
Chris improved the test release scripts and made them a little simpler to use by reducing it to one script that you run everytime: