dockstore / dockstore

Our VM/Docker sharing infrastructure and management component
https://dockstore.org/
Apache License 2.0
116 stars 27 forks source link

A DOI disappeared from a workflow version #5891

Open aofarrel opened 1 month ago

aofarrel commented 1 month ago

Describe the bug I went to mint a DOI for a workflow and Dockstore said that 1.1.16 already had a snapshot, which I know is a prereq for minting a DOI. My recollection was that I had also minted a DOI for it a few months ago, but I figured I misremembered since Dockstore only had a record of the snapshot.

This is what it looked like at the time.

After I minted a new DOI, it turns out that I did indeed previously mint a DOI for 1.1.16... twice. I now have three of them.

Dockstore is correctly showing one of them (the most recently created one), so the issue isn't that no DOIs at all show up, it's that the old ones didn't show up so I ended up with a third one.

I've also since minted a DOI of 1.1.18 and that one does show up as expected in some views, and on Zenodo this 1.1.18 DOI is considered a newer version of the latest 1.1.16 DOI. If it's going to choose the most recent DOI to link to out of a list of three identical DOIs, that's chill.

Version DOIs now show as follows (sorry versions are cut off, can't get that and full DOI to show at once):

There is also a bug with the "cite all versions" DOI, but I've opened a different ticket for that one (see discussion).

Links

The workflow nor its prereq were changed from 1.1.16 to 1.1.18:

Expected behavior

To Reproduce This one might be tricky to reproduce since new DOIs are showing up, but I suspect the cause is changes to the .dockstore.yml is the culprit, so here's a guess?

  1. Make a multi-workflow .dockstore.yml for workflow A and workflow B.
  2. Make a tagged commit called v1.1.16 in your repo, which will create a new tagged version for A and B on Dockstore.
  3. In Dockstore, create a snapshot and a DOI for workflow A's v1.1.16.
  4. Update the .dockstore.yml to add a new workflow C, and to give B a new readMePath or whatever. Do not modify anything involving workflow A.
  5. Make a new tagged commit called v1.1.17 in your repo
  6. Go to workflow A's dockstore page and see that v1.1.16 has a snapshot, but not a DOI.

The other alternative explanation I can think of is that I made two DOIs in November and that might be causing issues, so maybe it's:

  1. Make a multi-workflow .dockstore.yml for workflow A and workflow B.
  2. Make a tagged commit called v1.1.16 in your repo, which will create a new tagged version for A and B on Dockstore.
  3. In Dockstore, create a snapshot and a DOI for workflow A's v1.1.16.
  4. Somehow make a second DOI for workflow A's v.1.1.16?
  5. Go to workflow A's dockstore page and see that v1.1.16 has a snapshot, but not a DOI.

I don't have the bandwidth to do extensive testing or dig through my entire commit history for the repo, but if you want me to play around with things feel free to let me know on Slack.

Desktop (please complete the following information):

Additional context [Domain] - https://dockstore.org Webservice

┆Issue is synchronized with this Jira Story ┆Fix Versions: Dockstore 1.16 ┆Issue Number: DOCK-2526 ┆Sprint: 139 - Lothal ┆Issue Type: Story

aofarrel commented 1 month ago

I've realized what the "phantom DOI" is and will split this into two tickets.

Edit: Removed references to the "phantom DOI" from this ticket and created 5892.