When we releases are made then it would be ideal to obtain a Digital Object Identifier (DOI) which makes each version uniquely identifiable, creating a snapshot of the code that is independant of GitHub (crazy as it may sound GitHub could disappear at any point in time, or the repository could be removed and there is nothing we could do).
This facilitates the the Findable aspect of the FAIR4RS Principles (see also here).
We can do this using one of two options.
Zenodo
Zenodo has integration with GitHub and once the access permissions have been set and
authorisation granted for the repository Zenodo archives and issues a DOI each time a release is made.
Figshare
The University has a paid instance of Figshare called ORDA which also allows linking Figshare to Github.
They also make available the figshare/github-upload-action and this could be incorporated into a separate GitHub Workflow with the same trigger conditions as our PyPI.
Which to use?
We used ORDA on TopoStats) and found that it didn't always work. Uploads regularly timed out (perhaps unique to that repository as LayOpt is a much smaller snapshot) and when they did work the resulting zips required reviewing by someone in Library Services. To which end I would be inclined to go with Zenodo (it doesn't make sense to have both as DOIs are meant to point to unique resources and not duplicate what they refer to).
When we releases are made then it would be ideal to obtain a Digital Object Identifier (DOI) which makes each version uniquely identifiable, creating a snapshot of the code that is independant of GitHub (crazy as it may sound GitHub could disappear at any point in time, or the repository could be removed and there is nothing we could do).
This facilitates the the Findable aspect of the FAIR4RS Principles (see also here).
We can do this using one of two options.
Zenodo
Zenodo has integration with GitHub and once the access permissions have been set and
authorisation granted for the repository Zenodo archives and issues a DOI each time a release is made.
Figshare
The University has a paid instance of Figshare called ORDA which also allows linking Figshare to Github.
They also make available the figshare/github-upload-action and this could be incorporated into a separate GitHub Workflow with the same trigger conditions as our PyPI.
Which to use?
We used ORDA on TopoStats) and found that it didn't always work. Uploads regularly timed out (perhaps unique to that repository as LayOpt is a much smaller snapshot) and when they did work the resulting zips required reviewing by someone in Library Services. To which end I would be inclined to go with Zenodo (it doesn't make sense to have both as DOIs are meant to point to unique resources and not duplicate what they refer to).