dm_OCPS is a Commandable SAL Component (CSC) for the OCS-Controlled Pipeline System for the Vera C. Rubin Observatory, as described in DMTN-133.
The package is compatible with Vera Rubin LSST DM's scons build system, and the eups package management system. Assuming you have the basic DM stack installed you can do the following, from within the package directory:
setup -r .to setup the package and dependencies.sconsto build the package and run unit tests.scons install declareto install the package and declare it to eups.package-docs buildto build the documentation.- This requires
documenteer; see building single package docs for installation instructions.
This code uses pre-commit to maintain black formatting and flake8 compliance.
To enable this, run the following command once:
pre-commit install
Clone dm_config_ocps and dm_OCPS into
./develop.Build and test in the TSSW devel container (https://tssw-developer.lsst.io/docker/docker.html#csc-development).
docker pull lsstts/develop-env:develop docker run -it --rm -v `pwd`/develop:/home/saluser/develop lsstts/develop-env:develop setup -r develop/dm_config_ocps cd develop/dm_OCPS setup -k -r . scons
Update the version history in
doc/version_history.rstusing an appropriate semantic version number.When ready, merge to main and tag with the version number.
Use the TSSW conda-build container to build using the conda recipe (https://tssw-developer.lsst.io/conda/conda.html).
docker pull lsstts/conda_package_builder:latest docker run -it -e DM_CONFIG_OCPS_DIR=/home/saluser/develop/dm_config_ocps -v `pwd`/develop:/home/saluser/develop --rm ts-dockerhub.lsst.org/conda_package_builder:latest cd develop/dm_OCPS conda build --variants "{salobj_version: '', xml_version: ''}" --prefix-length=100 .
Publish to the
lsst-dmconda channel on Anaconda using theanaconda logincommand with thedm-adminuser (credentials in the Architecture vault in 1Password) and theanaconda uploadcommand printed byconda buildwith the--user lsst-dmoption.Update the version of
dm_OCPS(anddm_config_ocps, if necessary) inlsst-ts/ts_cycle_buildcycle/cycle.envon a ticket branch.Use the TSSW Jenkins to build and publish the container using that ticket branch.
Request merge of the ticket branch and deployment of the container from the TTS manager.