fairdataihub / codefair-app

Your coding assistant to make research software reusable without breaking a sweat!
https://codefair.io
MIT License
7 stars 2 forks source link

fix: 🐛 bug patches to Zenodo workflow #85

Closed slugb0t closed 1 month ago

slugb0t commented 1 month ago

Summary by Sourcery

Fix the Zenodo workflow by addressing issues with license status handling and improving the Zenodo publish progress check. Enhance the user interface for Zenodo publish progress and refactor bot logic for better error handling and logging.

Bug Fixes:

Enhancements:

fairdataihub-bot[bot] commented 1 month ago

Thank you for submitting this pull request! We appreciate your contribution to the project. Before we can merge it, we need to review the changes you've made to ensure they align with our code standards and meet the requirements of the project. We'll get back to you as soon as we can with feedback. Thanks again!

sourcery-ai[bot] commented 1 month ago

Reviewer's Guide by Sourcery

This pull request implements several bug fixes and improvements to the Zenodo workflow in the dashboard. The changes focus on error handling, UI enhancements, and refactoring of the Zenodo publishing process.

Sequence diagram for Zenodo publish progress check

sequenceDiagram
    participant User
    participant UI
    participant API
    User->>UI: Initiate Zenodo publish
    UI->>API: GET /api/{owner}/{repo}/release/zenodo/status
    API-->>UI: zenodoWorkflowStatus
    alt zenodoWorkflowStatus is "published" or "error"
        UI->>UI: Update zenodoPublishStatus and zenodoPublishDOI
        UI->>UI: Clear zenodoPublishProgressInterval
    else zenodoWorkflowStatus is "inProgress"
        UI->>UI: Update zenodoPublishStatus
    end
    UI->>User: Show Zenodo publish progress modal

Updated class diagram for Zenodo license handling

classDiagram
    class License {
        +String id
        +String identifier
        +String status
    }
    note for License "Added status attribute to handle license validation state"

File-Level Changes

Change Details Files
Improved error handling and status updates in the Zenodo publishing process
  • Added try-catch blocks around Zenodo API calls
  • Implemented more detailed error messages
  • Refactored the checkForZenodoPublishProgress function to use async/await
  • Added a loading state to the Zenodo publish modal
bot/index.js
ui/pages/dashboard/[owner]/[repo]/release/zenodo.vue
Enhanced UI for license and metadata status in the dashboard
  • Added a warning alert for invalid license status
  • Implemented PR badges for license and metadata files in the dashboard issue
  • Updated the layout of the license information display
bot/index.js
ui/pages/dashboard/[owner]/[repo]/release/zenodo.vue
Refactored and improved metadata handling
  • Updated the getZenodoMetadata function to handle parsed JSON
  • Modified the license status check in the applyLicenseTemplate function
  • Adjusted the CodeMetadataRequest interface to make the license field optional
bot/archival/index.js
bot/license/index.js
ui/types/codeMetadata.d.ts
Optimized API calls and data processing
  • Removed unnecessary console.log statements
  • Refactored the Zenodo deposition info retrieval process
  • Updated the pull request closed event handler to handle both merged and closed PRs
bot/index.js
bot/metadata/index.js

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
fairdataihub-bot[bot] commented 1 month ago

Thanks for closing this pull request! If you have any further questions, please feel free to open a new issue. We are always happy to help!

fairdataihub-bot[bot] commented 1 month ago

Thanks for making updates to your pull request. Our team will take a look and provide feedback as soon as possible. Please wait for any GitHub Actions to complete before editing your pull request. If you have any additional questions or concerns, feel free to let us know. Thank you for your contributions!