Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@svonworl
Copy link
Contributor

@svonworl svonworl commented Apr 10, 2025

Description
This PR changes the webservice to use WorkflowVersion.lastModified, which for most workflows is the time at which the corresponding tag was created on GitHub, to generate the version DOI publication date.

In general, this change will make the version DOIs appear in a sane order, but may cause ordering problems when subsequent retroactive automatic DOIs are added to workflows that had pre-existing non-automatic DOIs, or pre-existing automatic DOIs that were generated for tags found when our GitHub app was installed. Fortunately, this is a small number of workflows.

Somewhat suboptimally, Zenodo accepts a date, but not a date+time, in the publication date field for a submission (https://help.zenodo.org/docs/deposit/describe-records/publication-date/). So, if there's lots of tags created the same day, they may still appear "out of order". This includes the DOIs that are produced for DockstoreTestUser4's workflow [when the smoke tests are run?].

Review Instructions
Generate a sandbox DOI for a tag and confirm that the publication date is the tag's GitHub creation date, rather than the current time. This may be tricky. Alternatively, check the sandbox Zenodo Dockstore community for version DOIs wherein the upload and publication dates do not match, and confirm that the publication date matches the tag creation date.

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-7080

Security and Privacy

If there are any concerns that require extra attention from the security team, highlight them here and check the box when complete.

  • Security and Privacy assessed

e.g. Does this change...

  • Any user data we collect, or data location?
  • Access control, authentication or authorization?
  • Encryption features?

Please make sure that you've checked the following before submitting your pull request. Thanks!

  • Check that you pass the basic style checks and unit tests by running mvn clean install
  • Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
  • Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
  • If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
  • Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
  • Do not serve user-uploaded binary images through the Dockstore API
  • Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
  • Do not create cookies, although this may change in the future
  • If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

@codecov
Copy link

codecov bot commented Apr 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.24%. Comparing base (e9da120) to head (901b67b).

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #6096   +/-   ##
==========================================
  Coverage      74.23%   74.24%           
- Complexity      5661     5663    +2     
==========================================
  Files            389      389           
  Lines          20341    20343    +2     
  Branches        2103     2103           
==========================================
+ Hits           15101    15104    +3     
+ Misses          4238     4237    -1     
  Partials        1002     1002           
Flag Coverage Δ
bitbuckettests 26.02% <0.00%> (-0.01%) ⬇️
hoverflytests 27.66% <100.00%> (+0.01%) ⬆️
integrationtests 56.06% <0.00%> (-0.01%) ⬇️
languageparsingtests 10.81% <0.00%> (-0.01%) ⬇️
localstacktests 21.32% <0.00%> (-0.01%) ⬇️
toolintegrationtests 29.88% <0.00%> (-0.01%) ⬇️
unit-tests_and_non-confidential-tests 26.27% <0.00%> (-0.01%) ⬇️
workflowintegrationtests 37.50% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@svonworl svonworl self-assigned this Apr 10, 2025
@denis-yuen
Copy link
Member

Somewhat suboptimally, Zenodo accepts a date, but not a date+time, in the publication date field for a submission (https://help.zenodo.org/docs/deposit/describe-records/publication-date/). So, if there's lots of tags created the same day, they may still appear "out of order". This includes the DOIs that are produced for DockstoreTestUser4's workflow [when the smoke tests are run?].

Ah, thanks for the heads-up, I think we can (have to?) live with this.

@svonworl svonworl merged commit 3f6e5c7 into develop Apr 10, 2025
24 checks passed
@svonworl svonworl deleted the feature/seab-7080/use-tag-creation-date-in-version-doi branch April 10, 2025 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants