Contributing

Contributions and issues are most welcome! All issues and pull requests are handled through GitHub. Also, please check for any existing issues before filing a new one. If you have a great idea but it involves big changes, please file a ticket before making a pull request! We want to make sure you don’t spend your time coding something that might not fit the scope of the project.

Testing

Adding Features to the Container Image

See Defining a Container Image

Make Container Image

The image can be made locally with the script build-dec-c7. The resulting image will be placed in the local cache with the tag ghcr.io/dls-controls/dev-c7:latest.

Since this is the default tag that run-dev-c7 uses you can now use it launch and try out the new container image.

At present there are no tests to prove that the resulting image works. TBA.

Documentation

In order to build the documentation you will require a python virtual environment. Set up as follows:

$ cd dev-c7
$ virtualenv .venv
$ source .venv
$ pip install -r requirements.txt

Documentation is contained in the docs directory.

Docs follow the underlining convention:

Headling 1 (page title)
=======================

Heading 2
---------

Heading 3
~~~~~~~~~

You can build the docs from the project directory by running:

$ docs/make_docs.sh
$ firefox build/html/index.html

Release Process

To make a new release, please follow this checklist:

  • make changes on a branch and test locally with build-dev-c7

  • add any required updates to the docs and test with docs/make_docs.sh

  • push the changes to GitHub

  • Go to https://github.com/dls-controls/dev-c7/pulls and create a PR to main

  • GitHub actions will make an image to verify that it builds

  • Await approval for the PR

  • Choose a new PEP440 compliant release number

  • Go to release and create a new release with the new version

  • Check and edit for clarity the autogenerated GitHub release

  • Submit the release

  • GitHub Actions will publish the image to ghcr.io and the docs to GitHub Pages