HERMES¶
HERMES simplifies the publication of research software by continuously retrieving existing metadata in Citation File Format, CodeMeta and Git. Subsequently, the metadata is also compiled appropriately for InvenioRDM and Dataverse. Finally, CITATION.cff and codemeta.json are also updated for the publication repositories.
Add
.hermes/to the .gitignore fileProvide CITATION.cff file with additional metadata
Important
Make sure
licenseis defined in the CITATION.cff file; otherwise, your release will not be accepted as open access by the Zenodo sandbox.Configure HERMES workflow
The HERMES workflow is configured in the file TOML, where each step gets its own section.
If you want to configure HERMES to use the metadata from Git and CITATION.cff, and to file in the Zenodo sandbox built on InvenioRDM, the
hermes.tomlfile looks like this:hermes.toml¶# SPDX-FileCopyrightText: 2021 cusy GmbH # # SPDX-License-Identifier: BSD-3-Clause [harvest] from = [ "git", "cff" ] [deposit] mapping = "invenio" target = "invenio" [deposit.invenio] site_url = "https://sandbox.zenodo.org" access_right = "open" [postprocess] execute = [ "config_record_id" ]
Access token for Zenodo Sandbox
In order for GitHub Actions to publish your repository in the Zenodo Sandbox, you need a personal access token. To do this, you need to log in to Zenodo Sandbox and then create a personal access token in your user profile with the name
HERMES workflowand the scopes deposit:actions and deposit:write:
Copy the newly created token to a new GitHub secret named
ZENODO_SANDBOXin your repository: Settings –> Secrets and Variables –> Actions –> New repository secret:
Configure the GitHub action
The HERMES project provides templates for continuous integration in a special repository: softwarepub/ci-templates. Copy the template file TEMPLATE_hermes_github_to_zenodo.yml into the
.github/workflows/directory of your repository and rename it, for example tohermes_github_to_zenodo.yml.Then you should go through the file and look for comments marked
# ADAPT. Modify the file to suit your needs.Finally, add the workflow file to version control and push it to the GitHub server:
$ git add .github/workflows/hermes_github_to_zenodo.yml $ git commit -m ":construction_worker: GitHub action for automatic publication with HERMES" $ git push
GitHub actions should be allowed to create pull requests in your repository
The HERMES workflow will not publish metadata without your approval. Instead, it will create a pull request so that you can approve or change the metadata that is stored. To enable this, go to in your repository and in the Workflow permissions section, enable Allow GitHub Actions to create and approve pull requests.