Closed jordanpadams closed 2 years ago
@nutjob4life i think this one is next before we move onto continuous deployment
Oh yeah, I heard rumors about DOIs on software releases!
@nutjob4life btw, here is the info from Github on this as a starter: https://guides.github.com/activities/citable-code/
This actually might be pretty trivial. I tried a quick integration with Zenodo and was able to automatically get DOIs assigned to this sandbox repository (scroll down to see the DOI badge):
https://github.com/nasa-pds-engineering-node/epitome
If that satisfies the requirement, I can go ahead and enable this on the non-sandbox repositories. Sound okay @jordanpadams @tloubrieu-jpl ?
@nutjob4life awesome!
Can we make it so it only assigns a new DOI for major version change (e.g. 1.x, 2.x, etc.)? If so, this would be perfect!
@jordanpadams: Currently, the Zenodo integration assigns a DOI to the repository (10.5281/zenodo.5643445
= PDS Epitome) and then subsequent DOIs to every single release from that repository (10.5281/zenodo.5643446
= PDS Epitome stable release 1.8.6, 10.5281/zenodo.5643489
= PDS Epitome unstable release 1.8.7-dev).
Personally I think it's okay since the DOIs are essentially free ☺️ and there's always the repo-level DOI. Would the repo-level DOI work?
Researching further, we might be able to do something with their API in order to do vMAJOR+1.MINOR.MICRO
DOI assignments. The API looks a bit more involved than the 1-line webhook which has the benefit of being … well … one line! 😅
@nutjob4life I'm ok with repo level and every release... I think that suffices for me.
thoughts @tloubrieu-jpl ?
I think zenodo is the standard solution for software DOIs
@jordanpadams @tloubrieu-jpl will share the prefix used for the dataset's DOI. This requires some more thought on how to combine/filter in between datasets and software DOIs.
There was an issue with the github/zenodo integration which should be solved now.
We will stick with using the zenodo assigned DOI prefix.
The production PDS organization in zenodo can be found here: https://zenodo.org/communities/nasa-pds/ The test one is: https://zenodo.org/communities/nasa-pds-test/
There is a bug number of requests done to the github api which reaches the limit authorized per hour.
@tloubrieu-jpl I'm assuming this is unrelated to the actual DOI creation, but rather the requirements / changelog generation?
@jordanpadams, this seems to be the case. When I made a release "by hand", my API use count went up by 3 after Zenodo assigned the DOI and archived the repository. But after experimenting with Roundup releases, I saw thousands of API requests (3800 out of 5000 in one hour).
I'm watching this to ensure it's not the DOI assignment that's responsible for this massive API usage.
The action to close this ticket is to deploy a webhook on all the repository for which we want to create DOIs.
We should start from the list used to retrofit the repositories to match the templates.
@nutjob4life ☝️
@jordanpadams you sure about including https://github.com/NASA-PDS/pdsen-corral? There's not any software that I can see in that repository.
Same goes for nasa-pds.github.io, pdsen-operations
@nutjob4life you can skip it. it runs github actions and pushes to our nasa-pds.github.io website, but it is really just at facilitator more than it is a software repo
@nutjob4life also, do we need to add the patch the README? Or does this happen auto-magically?
@jordanpadams READMEs?
Oh you mean for the DOI badge? We can't add those until at least one release [1] has been made, since that'll assign a DOI, and then that gives us a badge image URL.
[1] A pre-release counts.
@nutjob4life copy. so we may need another ticket for rolling out the badges depending upon timing with the close of the sprint
Stable releases updated and DOIs ready for tagging one releases are tagged.
Per the JPL-PDS Open Source Policy:
Open Questions