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.

Road map

Here is our planned development road map.

End of 2020

  • Support for receiving workflow POSTs as Workflow RO-crate
  • Relatively stable interface and implementation for test outcome retrieval
  • Complete first draft of the Workflow Testing RO-crate specification
  • Support monitoring tests running on external testing services:
    • TravisCI
    • Jenkins

Spring 2021

End of 2021

  • Command line client
  • Web interface
  • Support monitoring tests running on external testing services:
    • Github Actions
  • Workflow submission from the Web interface

Winter 2022

  • WorkflowHub integration
  • Email notifications

Spring 2022

  • GitHub app
  • Semi-automated workflow registration with GH app
  • Automated workflow update with GH app

Summer 2022

  • Programmable periodic test execution

Fall 2022

  • Semi-automated configuration of GitHub Actions for workflow testing

Winter 2023

  • LS-AAI support

Later

  • Support workflow test creation
  • Workflow maintenance plugins (e.g., Docker image linting)

Acknowledgments

LifeMonitor is being developed as part of the EOSC-Life project

Acknowledgments

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