-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hermes harvest return 0 on error #204
Comments
You are right, even though we only get a warning during harvesting, we need to somehow signal / decide when we actually have an error (and signal this). However, we are still not very happy with the different ways and rules that are applied for error processing: on the one hand, we want to be as resilient as possible. On the other hand, it's important to face the user with as much information as possible. We're planning on producing an extensive HERMES runtime report using the Python logging facility. However, there are still some decitions to be taken:
|
I do not think that a harvesters should be allowed to fail. If the harvester if configured it should work. Otherwise a user can decide to use only some, e. g.:
|
Maybe it could also be interesting to provide the user a simple solution to check the cff file, e. g. as gitlab ci pipeline using cffconvert and an official docker image (The provided citationcff/cffconvert docker image is pretty old and based on an old alpine:3.14.1.): cffconvert__alpine:
stage: pre
image:
name: alpine:latest
script:
- date
- cat /etc/os-release
- apk add --no-cache py3-attrs py3-click py3-dateutil py3-docopt py3-jsonschema py3-packaging py3-parsing py3-pip py3-pykwalify py3-pyrsistent py3-requests py3-retrying py3-setuptools py3-six
- pip3 install cffconvert
- cffconvert --validate Or using the pre-commit hook. This could be mentioned in the documentation. |
Following Set up automatic software publishing I created a
CITATION.cff
and in the end in the pipeline the upload to zenodo sandbox fails withError in 'hermes.deposit.publish' entry point 'invenio': With access_right open, a license is required.
.The reason was that
hermes harvest
already claims:But still the command returned 0 and the pipeline passed. And for a user no error is recognizable.
I would suggest that
hermes
return an other value than 0 on error. Then the pipeline would break and the user is pointed to the error.The text was updated successfully, but these errors were encountered: