HERMES¶
HERMES vereinfacht die Publikation von Forschungssoftware, indem kontinuierlich in Citation File Format, CodeMeta und Git vorhandene Metadaten abegrufen werden. Anschließend werden die Metadaten auch für InvenioRDM und Dataverse passend zusammengestellt. Schließlich werden auch CITATION.cff und codemeta.json für die Publikationsrepositories aktualisiert.
.hermes/
in der .gitignore-Datei hinzufügenCITATION.cff-Datei mit zusätzlichen Metadaten bereitstellen
Wichtig
Stellt sicher, dass
license
in der Datei CITATION.cff definiert ist; andernfalls wird eure Veröffentlichung von der Zenodo-Sandbox nicht als Open Access akzeptiert.HERMES-Workflow konfigurieren
Der HERMES-Workflow wird konfiguriert in der TOML-Datei
hermes.toml
, wobei jeder Schritt einen eigenen Abschnitt erhält.Wenn ihr HERMES so konfigurieren wollt, dass die Metadaten aus Git und CITATION.cff verwendet werden und die Ablage in der Zenodo Sandbox, die auf InvenioRDM aufbaut, erfolgen soll, sieht die
hermes.toml
-Datei folgendermaßen aus:# SPDX-FileCopyrightText: 2023 Veit Schiele # # 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" ]
Zugangstoken für Zenodo Sandbox
Damit GitHub Actions euer Repository in der Zenodo Sandbox veröffentlichen kann, benötigt ihr ein persönliches Zugangstoken. Hierfür müsst ihr euch bei der Zenodo Sandbox anmelden, um dann in eurem Benutzerprofil einen persönliches Zugangstoken mit dem Namen
HERMES workflow
und den Geltungsbereichen deposit:actions und deposit:write zu erstellen:Kopiert das neu erstellte Token in ein neues GitHub Secret namens
ZENODO_SANDBOX
in Ihrem Repository: :Konfiguriert die GitHub-Aktion
Das HERMES-Projekt stellt Vorlagen zur kontinuierlichen Integration in einem speziellen Repository bereit: softwarepub/ci-templates. Kopiert die Vorlagendatei TEMPLATE_hermes_github_to_zenodo.yml in das Verzeichnis
.github/workflows/
eures Repository und benennt sie um, z.B. inhermes_github_to_zenodo.yml
.Anschließend solltet ihr die Datei durchgehen und nach Kommentaren, die mit
# ADAPT
gekennzeichnet sind, suchen. Passt die Datei an eure Bedürfnisse an.Schließlich fügt ihr die Workflow-Datei zur Versionskontrolle hinzu und schiebt sie auf den 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 sollen Pull Requests in eurem Repository erstellen dürfen
Der HERMES-Workflow wird keine Metadaten ohne eure Zustimmung veröffentlichen. Stattdessen erstellt er einen Pull-Request, damit ihr die hinterlegten Metadaten genehmigen oder ändern könnt. Um dies zu aktivieren, geht in eurem Repository zu Workflow permissions Allow GitHub Actions to create and approve pull requests.
und aktiviert im Abschnitt