Welcome to Life-Monitor

LifeMonitor is a service to support the sustainability and reusability of published computational workflows.

The collapse [1] over time of the software and services on which computational workflows depend is destructive to their reusability, and to the reproducibility of work for which they were used; this phenomenon can be caused by an API change that is not backwards compatible, a regression in a tool whose version was not pinned, a change in URL of an external resource, etc. Frequent testing is crucial to the preservation of workflow health, allowing to expose problems when they arise and providing a machine-actionable way to verify changes to the workflow structure. LifeMonitor aims to facilitate the maintenance of computational workflows, supporting their reusability over time, with a strong focus on testing and test monitoring.

The project’s main goals are to:

  • Serve as a central aggregation point for workflow test statuses and outputs from various testing services (e.g., GitHub Actions, Jenkins, Travis CI, etc.).
  • Facilitate the application of workflow best practices, including periodic automated execution of workflow tests.
  • Integrate with WorkflowHub.
  • Assist in test suite creation and workflow maintenance.

Quick Start

:bulb: If you just want to play around or get familiar with the API, use the dev instance of LifeMonitor (note that the dev instance could be wiped out at any time with no warning).

  1. Install the LifeMonitor GitHub app on your workflow’s repository;
  2. Follow the installation process to enable issue checks;
  3. Follow the instructions provided by the bot through pull requests and/or issues opened on your workflow repository to configure test monitoring and improve the application of workflow sustainability best practices;
  4. Profit!

Once installed, the LifeMonitor app can be configured to:

  • support the configuration of test monitoring by the LifeMonitor service;
  • notify WorkflowHub and LifeMonitor about new workflow releases;
  • analyze the workflow through a series of checks to signal possible improvements pertaining to maintenance best practices.

See the page describing the LifeMonitor GitHub app for more detailed information on what it does and how it can be configured.

If you don’t want to install the GitHub app, you can still use LifeMonitor’s test monitoring and periodic test execution features. Follow the instructions on configuring test monitoring.

If you still don’t have tests for your workflow or you haven’t created an automated testing pipeline, see our page on general workflow testing tips.

Acknowledgments

LifeMonitor was started as part of the EOSC-Life project and is developed by CRS4 with contributions from the wider WorkflowHub Club.

Acknowledgments

[1] K. Hinsen, Dealing with software collapse. Computing in Science & Engineering 21 (3), 104-108 (2019).