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.

  1. .hermes/ in der .gitignore-Datei hinzufügen

  2. CITATION.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.

  3. 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:

    hermes.toml
    # 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" ]
    
  4. 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:

    Zenodo: Neues persönliches Zugangstoken
  5. Kopiert das neu erstellte Token in ein neues GitHub Secret namens ZENODO_SANDBOX in Ihrem Repository: Settings ‣ Secrets and Variables ‣ Actions ‣ New repository secret:

    GitHub: Neues Action-Secret
  6. Konfiguriert die GitHub-Aktion

    Das HERMES-Projekt stellt Vorlagen zur kontinuierlichen Integration in einem speziellen Repository bereit: hermes-hmc/ci-templates. Kopiert die Vorlagendatei TEMPLATE_hermes_github_to_zenodo.yml in das Verzeichnis .github/workflows/ eures Repository und benennt sie um, z.B. in hermes_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
    
  7. 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 Settings ‣ Actions ‣ General und aktiviert im Abschnitt Workflow permissions Allow GitHub Actions to create and approve pull requests.