-
Notifications
You must be signed in to change notification settings - Fork 36
Implement bulk upload releases #1187
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
Conversation
- Added new hooks to the pre-commit configuration for better code quality checks. - Cleaned up whitespace in Dockerfiles and docker-compose.yml for consistency. - Removed unnecessary blank lines in GitHub Actions workflows to enhance readability.
…001720, ensuring compatibility with the latest features and improvements.
…ty and consistency. Updated test functions to replace monkeypatching with mocker.patch, enhancing the clarity of mock setups and ensuring better integration with pytest's mocking capabilities.
…odularity and maintainability. Updated color adjustments to utilize `color.adjust` for better control over color lightness in hover states.
- Introduced BulkReleaseForm to handle bulk release submissions. - Implemented BulkReleaseView to manage the release of multiple uploads at once, including validation and error handling. - Added a new bulk release template for user interaction. - Updated project detail view to link to the bulk release feature when multiple uploads are present. - Created comprehensive tests for bulk release functionality, ensuring robust validation and release processes.
…sistency. This change enhances the clarity of mock setups in the test suite.
- Updated the inheritance structure of BulkReleaseView to improve functionality and maintainability. - Adjusted tests to verify the new inheritance and decorators, ensuring proper permission checks and method availability.
for more information, see https://pre-commit.ci
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1187 +/- ##
==========================================
+ Coverage 66.88% 68.12% +1.23%
==========================================
Files 40 40
Lines 1942 2033 +91
==========================================
+ Hits 1299 1385 +86
- Misses 643 648 +5
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
- Refactored test functions in test_bulk_release.py to utilize consistent mocking practices, improving readability and maintainability. - Added comprehensive tests for various scenarios in the bulk release process, including form validation, release success, and error handling. - Updated test_upload_validation.py to streamline HTTP error handling and ensure proper warning treatment for 404 errors. - Ensured all tests are integrated with Flask context for better coverage and reliability.
for more information, see https://pre-commit.ci
This pull request introduces a new "Bulk Release" feature for managing project uploads, updates the CSS codebase to use modern
@usesyntax, and includes minor code cleanup and refactoring. Below are the most important changes grouped by theme.Fixes #20
New Feature: Bulk Release Functionality
BulkReleaseViewinjazzband/projects/views.pyto allow project leads to release multiple uploads for a specific version simultaneously. This includes validation, error handling, and integration withtwinefor PyPI uploads. [1] [2]BulkReleaseForminjazzband/projects/forms.pyto handle user input for bulk release operations.bulk_release.html, to render the bulk release page with detailed UI for uploads, warnings, and errors.CSS Modernization
@usesyntax instead of@import, improving modularity and maintainability. Changes applied tostyles.scss,_base.scss, and_pygments.scss. [1] [2] [3]lightenfunction withcolor.adjustfor color manipulation in_base.scss. [1] [2] [3] [4] [5] [6] [7]Code Cleanup and Refactoring
MagicMockfromtests/conftest.pyand updated themock_userfixture to usemocker.MagicMockfor consistency. [1] [2]HTTPErrorimport fromjazzband/projects/views.py.Pre-commit Hook Configuration
.pre-commit-config.yaml.