Skip to content

EmilioPeJu/dls_ade

Repository files navigation

pipeline status coverage report

DLS Application Development Environment (ADE)

A collection of scripts used in the DLS Controls Group Application Development Environment.

Development Environment

Setup a virtualenv in the root of the project and install the dependencies:

  virtualenv -p /path/to/your/python2.7 venv
  source venv/bin/activate
  pip install -r requirements.txt
  
  # Setup the module in development mode
  python setup.py develop
  
  # Optional: Build an egg for distribution
  python setup.py bdist_egg
  
  # Optional: Build the docs with sphinx
  python setup.py build_sphinx
  
  # Optional: Run the unittests with pytest
  python setup.py test

dls-release.py offline testing

To inspect changes to the build server release scripts, generated by dls-release.py, one can override the location of the production build server queue by setting environment variables DLSBUILD_ROOT_DIR and/or DLSBUILD_WIN_ROOT_DIR

  # Assuming the above example virtualenv has been configured first

  mkdir -p $HOME/test/work/etc/build/queue
  export DLSBUILD_ROOT_DIR=$HOME/test
  export DLSBUILD_WIN_ROOT_DIR=$HOME/test
  dls-release.py somemodule 1-1dls44

  # Now see and/or run build script in
  # $HOME/test/work/etc/build/queue

Logging

The dls_ade scripts produce log messages as they progress. Messages for the regular user is printed to stdout and further debug and info messages are logged to the DLS graylog system. A local debug log is also written to the users home dir: $HOME/.dls_ade_debug.log

To review logs produced by the scripts for a given user, visit https://graylog2.diamond.ac.uk and search package:dls_ade AND username:fedid (replacing fedid for the users FedID)

For releases on the build server, it is possible to view both logs from the client side script (i.e. dls-release.py) as well as the build server process. See all logs for a given module that you have released with the search: username:FEDID module:MODULE replacing FEDID and MODULE.

The environment variables ADE_GELFLOG_SERVER and ADE_GELFLOG_SERVER_PORT can be used to override the log destination of the ADE scripts for testing/development purposes.

The environment variables ADE_SYSLOG_SERVER and ADE_SYSLOG_SERVER_PORT can be used to override the log destination of the Controls Build Server scripts for testing/development purposes.