fix: Resolve CI failures and finalize linting - #15
Merged
Conversation
This commit introduces a wide range of improvements based on the findings of a repository audit. The changes address key areas including testing, continuous integration, documentation, logging, performance, and extensibility. Key changes include: - **CI/CD:** Added a GitHub Actions workflow for automated linting and testing. - **Documentation:** Overhauled the README with setup instructions, usage guidance, and an architecture diagram. - **Structured Logging:** Refactored the entire codebase to use `structlog` for structured, JSON-formatted logging, replacing previous `logging` and `print` calls. - **Performance:** Enabled Automatic Mixed Precision (AMP) for YOLOv8 inference on CUDA devices to accelerate performance. - **Extensibility:** Implemented a plugin-based architecture for the object detector. The YOLOv8 and OpenVINO backends have been refactored into separate plugins, making the system more modular and extensible. - **Code Quality:** Added a comprehensive `.gitignore` file and fixed a large number of linting errors reported by `ruff`. The test suite was also updated to support the new architecture and is fully passing.
This commit addresses the CI failures from the previous submission by fixing the workflow and completing all linting corrections. The `ModuleNotFoundError` in the test job was resolved by removing the `--no-root` flag from the `poetry install` step in the `ci.yml` workflow. This ensures the `zebtrack` package is properly installed in the CI environment. Additionally, all remaining linting errors, primarily line-length issues (E501), have been fixed across the codebase. The project now passes all `ruff` checks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This submission corrects two issues that caused the CI pipeline to fail on the previous commit. It also includes the completion of all linting fixes.
.github/workflows/ci.ymlfile has been corrected. The--no-rootflag was removed from thepoetry installcommands, which ensures the project's own package is installed correctly. This resolves theModuleNotFoundErrorthat was causing the test job to fail.E501 (Line too long)and otherrufflinting errors have been resolved across the entire codebase. The code now passes all linting checks.With these changes, the CI pipeline should now pass, and the codebase is clean, fully tested, and meets all the requirements of the initial audit.