Repository navigation
docker.yml: Zenodo upload errors go to stderr so they are not discarded - #43
Merged
Merged
Conversation
zcurl printed its ::error:: line to stdout, and the upload and metadata calls redirect stdout to /dev/null, so a failed image upload ended with a bare 'exit code 1' and an unpublished draft deposit, with no reason given (seen on two repositories). Errors now go to stderr, and a curl failure reports curl's exit code.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the Docker image upload to Zenodo fails, the job ends with a bare
exit code 1and leaves an unpublished draft deposit, with no reason given. Seen twice (Hamburg and Logroño room-to-green repositories, both after ~19 minutes of upload).Cause:
zcurlprints its::error::line to stdout, and the upload and metadata calls redirect stdout to/dev/null, so the message is discarded together with the response body.Fix: errors go to stderr; a curl failure (network, timeout) now reports curl's exit code.
Checked locally with stdout redirected to
/dev/null: an HTTP error printsfailed (HTTP 405). Zenodo said: …, an unreachable host printscurl failed (exit 6). Template tests pass.This only makes the cause visible; the next failure will say why (likely size or a timeout), which decides the actual fix.