Fix broken tests and CI pipeline - #2
Conversation
…odebase investigation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the project's stability and maintainability by resolving a series of critical issues across the CI pipeline, dependency management, documentation generation, and test suite. It ensures that the project's automated checks run reliably, dependencies are correctly specified, and the documentation builds without errors, providing a solid foundation for future development. Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request provides a comprehensive set of fixes that significantly stabilize the project. The updates to dependencies in Project.toml, fixes for deprecated API calls in DSP.jl and Interpolations.jl, and corrections to the test suite and documentation build are all excellent improvements. I found one potential type-stability issue in the lttb implementation, for which I've provided a suggestion. Overall, this is a high-quality contribution that addresses the stated goals effectively.
| x = collect(one(T):T(length(y))) | ||
| )::Tuple{Vector{float(T)},Vector{float(T)}} where {T<:Real} | ||
| x = collect(float(T), 1:length(y)) | ||
| return lttb(x, y, n_out; plot = plot) |
There was a problem hiding this comment.
There's a potential type-stability issue here. The function signature declares a return type of Tuple{Vector{float(T)},Vector{float(T)}}. However, the call lttb(x, y, ...) preserves the element type of y. If y is a vector of integers (e.g., Vector{Int}), this function will incorrectly return a Tuple{Vector{Float64}, Vector{Int}}, violating its own type signature and causing type instability. To ensure correctness, you should convert y to a float vector before passing it to the next method.
return lttb(x, float.(y), n_out; plot = plot)
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment Thanks for integrating Codecov - We've got you covered ☂️ |
|
I have applied the suggested fix to ensure type stability in the implementation by converting to a float vector before dispatching to the main algorithm. All tests pass locally. |
|
I have applied the suggested fix to ensure type stability in the |
This PR stabilizes the project by fixing CI triggers, dependency issues, documentation build errors, and broken tests identified during the stabilization track.