Commits
Click on a commit to change the comparison rangeFormat DLQ files with ruff23 days ago
by drazisil-codecov Replace DLQ management command with Django admin interface
- Add Django admin views for DLQ management (list, recover, delete)
- Create admin template for DLQ list view
- Remove management command in favor of web interface
- Accessible at /admin/dlq/ in Django admin23 days ago
by drazisil-codecov Fix DLQ admin URL handling and test failures
- Move re_path import to top level to fix ruff linting error
- Use re_path instead of path to handle slashes in DLQ keys
- Fix tests to use unencoded keys (Django handles encoding automatically)
- Remove manual URL decoding (Django handles it automatically)23 days ago
by drazisil-codecov Add Dead Letter Queue (DLQ) support for upload processing chain
- Add DLQ configuration (TTL, key prefix) in celery_config
- Implement generic DLQ save method in BaseCodecovTask with recursive UserYaml serialization
- Create DLQRecoveryTask for listing, recovering, and deleting DLQ entries
- Add Django admin interface for DLQ management
- Integrate DLQ into UploadTask, UploadProcessorTask, and UploadFinisherTask
- Add comprehensive test coverage for DLQ functionality
- Fix UserYaml serialization issue in DLQ save by recursively converting to dicts22 days ago
by drazisil-codecov Ensure DLQ recovery restores upload arguments to Redis
- Add get_all_arguments() method to UploadContext to read arguments without consuming
- Save upload_arguments to DLQ when UploadTask fails
- Restore upload arguments to Redis in DLQ recovery before re-queuing
- Add lrange() method to FakeRedis for test support
- Fix serialization to ensure all dict keys are strings (orjson requirement)
- Add test for upload argument restoration in DLQ recovery
This ensures recovered tasks behave exactly like normal retries and correctly
schedule downstream tasks in the upload processing chain.22 days ago
by drazisil-codecov Refactor imports in base.py and test_upload_task.py for clarity
- Moved import statements to the top of base.py for better organization.
- Removed redundant imports in test_upload_task.py to streamline the code.
- Ensured consistent import structure across both files for improved readability.22 days ago
by drazisil-codecov Add comprehensive test coverage for DLQ functionality
- Add tests for UploadTask recovery edge cases (empty arguments, restore failures, missing repoid/commitid)
- Add tests for different report types (test_results, bundle_analysis) in recovery
- Add tests for UploadContext.get_all_arguments() method
- Add tests for admin interface URL encoding edge cases
- Fix test to use ReportType enum instead of string22 days ago
by drazisil-codecov Refactor DLQ admin to use Django admin patterns
- Use render() from django.shortcuts instead of TemplateResponse
- Move HTML generation to template instead of Python
- Follow same pattern as timeseries admin implementation
- Fix import formatting to match codebase style22 days ago
by drazisil-codecov