Table of Contents
Fetching ...

Extending and Applying Automated HERMES Software Publication Workflows

Sophie Kernchen, Michael Meinel, Stephan Druskat, Michael Fritzsche, David Pape, Oliver Bertuch

TL;DR

The paper presents Extending and Applying Automated HERMES Software Publication Workflows, introducing HERMES as a CI-driven system to publish research software with rich metadata under persistent identifiers in line with FAIR for Software. It details the five-phase workflow (harvest, process, curate, deposit, postprocess), a plugin architecture for extensibility, and end-user usage via CLI and GitHub Actions templates. Through three informal case studies—live coding at deRSE24, a Zenodo publication dogfooding exercise, and a pyproject.toml harvester plugin development—the work assesses feasibility, extensibility, and areas for improvement in logging, templating, and data-model simplification. The findings suggest HERMES is usable and extensible for diverse metadata sources and deployment targets, with future work focusing on formal evaluation, broader stakeholder involvement, and enhanced tooling and documentation to support wider adoption.

Abstract

Research software is an important output of research and must be published according to the FAIR Principles for Research Software. This can be achieved by publishing software with metadata under a persistent identifier. HERMES is a tool that leverages continuous integration to automate the publication of software with rich metadata. In this work, we describe the HERMES workflow itself, and how to extend it to meet the needs of specific research software metadata or infrastructure. We introduce the HERMES plugin architecture and provide the example of creating a new HERMES plugin that harvests metadata from a metadata source in source code repositories. We show how to use HERMES as an end user, both via the command line interface, and as a step in a continuous integration pipeline. Finally, we report three informal case studies whose results provide a preliminary evaluation of the feasibility and applicability of HERMES workflows, and the extensibility of the hermes software package.

Extending and Applying Automated HERMES Software Publication Workflows

TL;DR

The paper presents Extending and Applying Automated HERMES Software Publication Workflows, introducing HERMES as a CI-driven system to publish research software with rich metadata under persistent identifiers in line with FAIR for Software. It details the five-phase workflow (harvest, process, curate, deposit, postprocess), a plugin architecture for extensibility, and end-user usage via CLI and GitHub Actions templates. Through three informal case studies—live coding at deRSE24, a Zenodo publication dogfooding exercise, and a pyproject.toml harvester plugin development—the work assesses feasibility, extensibility, and areas for improvement in logging, templating, and data-model simplification. The findings suggest HERMES is usable and extensible for diverse metadata sources and deployment targets, with future work focusing on formal evaluation, broader stakeholder involvement, and enhanced tooling and documentation to support wider adoption.

Abstract

Research software is an important output of research and must be published according to the FAIR Principles for Research Software. This can be achieved by publishing software with metadata under a persistent identifier. HERMES is a tool that leverages continuous integration to automate the publication of software with rich metadata. In this work, we describe the HERMES workflow itself, and how to extend it to meet the needs of specific research software metadata or infrastructure. We introduce the HERMES plugin architecture and provide the example of creating a new HERMES plugin that harvests metadata from a metadata source in source code repositories. We show how to use HERMES as an end user, both via the command line interface, and as a step in a continuous integration pipeline. Finally, we report three informal case studies whose results provide a preliminary evaluation of the feasibility and applicability of HERMES workflows, and the extensibility of the hermes software package.

Paper Structure

This paper contains 15 sections, 3 figures, 2 tables.

Figures (3)

  • Figure 1: The five phases that form the HERMES workflow: harvest, process, curate, deposit, and postprocess
  • Figure 2: hermes components and interactions with external components.
  • Figure 3: Partial class structure for a new harvest plugin FundingHarvestPlugin showing the classes that implement the new plugin (green border) and parent classes (blue border).