Zenodo integration
Create releases on Zenodo as an alternative to RADAR.
It works in a similar way as RADAR releases: use the variable ENABLE_ZENODO to enable Zenodo releases.
ZENODO_URL is the URL to the Zenodo instance. Should normally be https://zenodo.org, or https://sandbox.zenodo.org for the test environment.
The main difference with RADAR from a user perspective are the CI/CD variables which have to be set for using the scripts prepare_zenodo
and create_zenodo
.
For Zenodo release, the only credential needed is the ZENODO_TOKEN, a personal access token in Zenodo with scope deposit:write
.
This Merge Request is still a draft but is already open to review/discussion and releases on Zenodo can be tested.
TODOs:
-
Documentation -
Tutorial -
Revert test commits cdc9d235 and 9cca5905 -
Manage licenses in Zenodo better -> Zenodo provides an API to access all available licenses and uses mostly SPDX identifiers. We could use the API to check if the license provided in CodeMeta is available in Zenodo, and use "other-nc" (Other, non commercial)nonspecified
by default otherwise -
Improve conversion from CodeMeta to Zenodo (and RADAR) metadata. The current conversion is not exhaustive and doesn't cover all cases (for example when a field in CodeMeta can either be a single value or a list, we sometimes handle only one of these cases). -
Refactoring. (Ex: create functions for mapping specific values types from CodeMeta to Zenodo). -
Implement tests -
Improving "grants" handling in Zenodo, as an identifier compatible with OpenAIRE is expected.
@axel.loewe @tomas.stary @jochen , maybe you can be interested in it.