Release procedure

From Aquarium-Control
Jump to navigation Jump to search

Execution environment

Create lock file

Create the path and the lockfile, e.g. sudo touch /var/local/aquarium-ctrl.pid, as per configuration file. Assign access rights using chmod o+rw filename so that non-root user (during testing) can use the resources as well.

Create log file

Create the path and the logfile sudo touch /var/log/aquarium.log. Assign access rights using chmod o+rw filename so that non-root user (during testing) can use the resources as well.

Create output files on RAM disk

Create the path and the output files e.g., sudo touch /var/local/aquarium-ctrl/aquarium-ctrl-ts as stated in the .toml configuration file(s). Make sure the path yields to the RAM-disk. Assign access rights using chmod o+rw * so that non-root user (during testing) can use the resources as well.

Unit-testing on development machine

Run the unit tests using cargo test and analyse the results. Currently there are more than 150 unit tests which run in multiple threads. Testing takes multiple minutes. If all tests pass, proceed to next step.

Update version identifier

Update database

Compilation for testing on target hardware and OS

Unit-testing on target hardware and OS

Create message queues

Testing with simulator

Observe RAM consumption

Compilation for production on target hardware and OS

Update of production configuration file

Transfer of binary and update of startup script

Documentation of release in repository