8000 Update reference for breaking API changes plugin by denis-yuen · Pull Request #5830 · dockstore/dockstore · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Update reference for breaking API changes plugin #5830

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 7, 2024

Conversation

denis-yuen
Copy link
Member
@denis-yuen denis-yuen commented Mar 6, 2024

Description
Update reference version for breaking changes plugin.
Results not super useful, but we could update to a 1.16 alpha later to catch unexpected breaking changes

Review Instructions
Just look at openapi yaml changes in build.

Issue
See #5607
Also noticed this when updating checklists for https://github.com/dockstore/dockstore-deploy/pull/752

Security and Privacy

Nope

  • Security and Privacy assessed

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.

@denis-yuen denis-yuen self-assigned this Mar 6, 2024
@denis-yuen denis-yuen changed the title Update pom.xml Experiment with openapi detection of breaking changes Mar 6, 2024
@denis-yuen
Copy link
Member Author

Note, we have a decent number of changes from deprecated changes going through

[INFO] ==========================================================================
==                            API CHANGE LOG                            ==
==========================================================================
                              Dockstore API                               
--------------------------------------------------------------------------
--                            What's Changed                            --
--------------------------------------------------------------------------
- GET    /api/ga4gh/v2/extended/{id}/versions/{version_id}/execution
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: aggregatedExecutions (array)
- PUT    /api/ga4gh/v2/extended/{id}/versions/{version_id}/executions
  Request:
        - Changed application/json
          Schema: Backward compatible
- POST   /api/ga4gh/v2/extended/{id}/versions/{version_id}/executions
  Request:
        - Changed application/json
          Schema: Backward compatible
- POST   /containers/hostedEntry
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- DELETE /containers/hostedEntry/{entryId}
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PATCH  /containers/hostedEntry/{entryId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /containers/namespace/{namespace}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /containers/path/tool/{repository}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /containers/path/tool/{repository}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /containers/path/{repository}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /containers/path/{repository}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /containers/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /containers/published/{containerId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /containers/registerManual
  Request:
        - Changed application/json
          Schema: Backward compatible
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /containers/{containerId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /containers/{containerId}
  Request:
        - Changed application/json
          Schema: Backward compatible
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /containers/{containerId}/labels
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /containers/{containerId}/publish
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /containers/{containerId}/refresh
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /containers/{containerId}/updateTagPaths
  Request:
        - Changed application/json
          Schema: Backward compatible
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /containers/{toolId}/defaultVersion
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /entries/{alias}/aliases
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /entries/{entryId}/exportToOrcid
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- DELETE /entries/{id}
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /entries/{id}/aliases
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /entries/{id}/archive
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /entries/{id}/topic
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /entries/{id}/unarchive
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /events
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].notebook.author (string)
          Missing property: [n].notebook.email (string)
          Missing property: [n].service.author (string)
          Missing property: [n].service.email (string)
          Missing property: [n].workflow.author (string)
          Missing property: [n].workflow.email (string)
          Missing property: [n].apptool.author (string)
          Missing property: [n].apptool.email (string)
          Missing property: [n].tool.author (string)
          Missing property: [n].tool.email (string)
- GET    /events/{userId}
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].notebook.author (string)
          Missing property: [n].notebook.email (string)
          Missing property: [n].service.author (string)
          Missing property: [n].service.email (string)
          Missing property: [n].workflow.author (string)
          Missing property: [n].workflow.email (string)
          Missing property: [n].apptool.author (string)
          Missing property: [n].apptool.email (string)
          Missing property: [n].tool.author (string)
          Missing property: [n].tool.email (string)
- GET    /organizations/{organizationId}/events
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].notebook.author (string)
          Missing property: [n].notebook.email (string)
          Missing property: [n].service.author (string)
          Missing property: [n].service.email (string)
          Missing property: [n].workflow.author (string)
          Missing property: [n].workflow.email (string)
          Missing property: [n].apptool.author (string)
          Missing property: [n].apptool.email (string)
          Missing property: [n].tool.author (string)
          Missing property: [n].tool.email (string)
- POST   /users/github/sync
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/starredNotebooks
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/starredServices
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/starredTools
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/starredWorkflows
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/appTools
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/containers
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/containers/published
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/containers/{organization}/refresh
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/notebooks
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/services
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/workflows
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- PATCH  /users/{userId}/workflows
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /users/{userId}/workflows/published
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- POST   /workflows/hostedEntry
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /workflows/hostedEntry/{entryId}
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- DELETE /workflows/hostedEntry/{entryId}
  Return Type:
    - Changed 200 OK
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PATCH  /workflows/hostedEntry/{entryId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /workflows/manualRegister
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/organization/{organization}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /workflows/path/entry/{repository}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/path/entry/{repository}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/path/workflow/{repository}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/path/workflow/{repository}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/path/{repository}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /workflows/path/{repository}/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /workflows/published
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].author (string)
          Missing property: [n].email (string)
- GET    /workflows/published/{workflowId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /workflows/registries/{gitRegistry}/organizations/{organization}/repositories/{repositoryName}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
          Missing property: metadataFromEntry.author (string)
          Missing property: metadataFromEntry.email (string)
- POST   /workflows/{entryId}/registerCheckerWorkflow/{descriptorType}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/{workflowId}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /workflows/{workflowId}
  Request:
        - Changed application/json
          Schema: Backward compatible
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /workflows/{workflowId}/defaultVersion
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /workflows/{workflowId}/descriptorType
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /workflows/{workflowId}/labels
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- POST   /workflows/{workflowId}/publish
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/{workflowId}/refresh
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/{workflowId}/refresh/{version}
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- PUT    /workflows/{workflowId}/resetVersionPaths
  Request:
        - Changed application/json
          Schema: Backward compatible
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/{workflowId}/restub
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: author (string)
          Missing property: email (string)
- GET    /workflows/shared
  Return Type:
    - Changed default 
      Media types:
        - Changed application/json
          Schema: Broken compatibility
          Missing property: [n].workflows[n].author (string)
          Missing property: [n].workflows[n].email (string)
--------------------------------------------------------------------------
--                                Result                                --
--------------------------------------------------------------------------
                 API changes broke backward compatibility                 
--------------------------------------------------------------------------

Copy link
sonarqubecloud bot commented Mar 6, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
codecov bot commented Mar 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.36%. Comparing base (88b32d1) to head (a1cde40).

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #5830   +/-   ##
==========================================
  Coverage      74.35%   74.36%           
- Complexity      5253     5254    +1     
==========================================
  Files            364      364           
  Lines          19019    19019           
  Branches        2019     2019           
==========================================
+ Hits           14142    14143    +1     
  Misses          3918     3918           
+ Partials         959      958    -1     
Flag Coverage Δ
bitbuckettests 27.08% <ø> (+0.01%) ⬆️
integrationtests 58.31% <ø> (ø)
languageparsingtests 10.86% <ø> (ø)
localstacktests 21.41% <ø> (ø)
toolintegrationtests 30.39% <ø> (ø)
unit-tests_and_non-confidential-tests 28.77% <ø> (ø)
workflowintegrationtests 38.66% <ø> (ø)

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.

@denis-yuen denis-yuen marked this pull request as ready for review March 6, 2024 16:20
@denis-yuen denis-yuen changed the title Experiment with openapi detection of breaking changes Update reference for breaking API changes plugin Mar 6, 2024
@denis-yuen denis-yuen requested review from a team, david4096, svonworl, ll5zh, coverbeck and kathy-t and removed request for a team March 6, 2024 16:21
@denis-yuen denis-yuen merged commit ee3bee5 into develop Mar 7, 2024
@denis-yuen denis-yuen deleted the feature/enable_openapi_diff branch March 7, 2024 15:40
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
0