CI: Add macOS and Windows to test matrix (Refreshed)#40
Conversation
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
Reviewer's GuideUpdates CI to run tests on macOS and Windows in addition to Linux using Python 3.13 only, switches package installation in tests from editable to standard installs, adjusts artifacts and Sonar coverage to the new matrix, and adds a manual workflow to verify PyPI installation across platforms. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdded a manual "verify install" GitHub Actions workflow; updated the test workflow to a matrix across ubuntu/macos/windows with Python 3.13; and configured the release workflow to ignore README.md and the .github/ directory on push triggers. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location> `.github/workflows/manual_verify_install.yml:24-32` </location>
<code_context>
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install PyOctaveBand
+ run: |
+ python -m pip install --upgrade pip
+ if [ -z "${{ inputs.version }}" ]; then
+ pip install pyoctaveband
+ else
+ pip install pyoctaveband==${{ inputs.version }}
+ fi
+ shell: bash
+
+ - name: Verify Import
</code_context>
<issue_to_address>
**suggestion:** The manual install step forces `shell: bash`, which may have different behavior on Windows runners.
On Windows, `shell: bash` runs under Git Bash rather than the default PowerShell, which can change PATH and env behavior compared to typical Windows installs. If you want CI to reflect real user environments per OS, consider using the default shell for each runner (or matrix over `shell`) and expressing the versioned/non-versioned installs as separate `if:`-guarded steps that work across shells.
```suggestion
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install latest PyOctaveBand
if: ${{ inputs.version == '' }}
run: pip install pyoctaveband
- name: Install specific PyOctaveBand version
if: ${{ inputs.version != '' }}
run: pip install pyoctaveband==${{ inputs.version }}
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
PR Code Suggestions ✨Latest suggestions up to 00c9456
Previous suggestions✅ Suggestions up to commit dc5a92f
|
||||||||||||||||||||||||||||||||
CI Results 🚀Test Summary
Technical Benchmark Summary📊 View Benchmark DetailsPyOctaveBand: Technical Benchmark ReportGenerated: 2026-01-12 16:54:37 1. Test Signal Parameters
2. Crossover (Linkwitz-Riley)
3. Precision & Isolation
4. Performance
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @.github/workflows/manual_verify_install.yml:
- Around line 11-17: The workflow is missing a permissions block limiting
GITHUB_TOKEN scope; add a minimal permissions section under the
verify-pypi-install job (or at workflow root) that explicitly grants only the
least privileges needed (for this job typically contents: read and packages:
read to allow actions/checkout and package access) so the verify-pypi-install
job’s GITHUB_TOKEN cannot use broader scopes.
🧹 Nitpick comments (1)
.github/workflows/python-app.yml (1)
82-85: Consider documenting the hardcoded artifact dependency.The artifact name
test-results-ubuntu-latest-3.13creates an implicit coupling with thetestsjob matrix. If the matrix configuration changes (e.g., Python version updated), this reference must be updated manually.A comment noting this dependency would help future maintainers.
📝 Suggested documentation
- name: Download coverage report uses: actions/download-artifact@v4 with: + # Must match a valid matrix combination from the 'tests' job name: test-results-ubuntu-latest-3.13
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/manual_verify_install.yml.github/workflows/python-app.yml.github/workflows/release.yml
🧰 Additional context used
🪛 GitHub Check: CodeQL
.github/workflows/manual_verify_install.yml
[warning] 13-35: Workflow does not contain permissions
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {{contents: read}}
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: pr-comment
- GitHub Check: Sourcery review
🔇 Additional comments (6)
.github/workflows/release.yml (1)
7-9: LGTM!The
paths-ignoreconfiguration correctly prevents release triggers for documentation and CI configuration changes while preserving theworkflow_dispatchoption for manual releases..github/workflows/manual_verify_install.yml (2)
24-32: LGTM!The explicit
shell: bashensures the conditional logic works consistently across all three operating systems.
34-35: LGTM!The Python command is cross-platform compatible and doesn't require an explicit shell specification.
.github/workflows/python-app.yml (3)
38-46: LGTM!The matrix strategy with
fail-fast: falseensures comprehensive cross-platform test coverage. All OS/Python combinations will run to completion even if one fails, providing complete visibility into platform-specific issues.
59-59: LGTM!Switching from editable install to standard install is appropriate for cross-platform testing. Editable installs are retained in the
qualityandpr-commentjobs which run exclusively on Ubuntu.
64-71: LGTM!The artifact naming convention properly differentiates test results by OS and Python version, enabling clear identification of platform-specific results.
CI Results 🚀Test Summary
Technical Benchmark Summary📊 View Benchmark DetailsPyOctaveBand: Technical Benchmark ReportGenerated: 2026-01-12 17:02:10 1. Test Signal Parameters
2. Crossover (Linkwitz-Riley)
3. Precision & Isolation
4. Performance
|
|
CI Results 🚀Test Summary
Technical Benchmark Summary📊 View Benchmark DetailsPyOctaveBand: Technical Benchmark ReportGenerated: 2026-01-12 17:34:21 1. Test Signal Parameters
2. Crossover (Linkwitz-Riley)
3. Precision & Isolation
4. Performance
|












User description
Refresh of PR #39
This PR updates the CI workflow to include macOS and Windows in the test matrix.
It also changes the installation method from editable (
-e .) to standard (.) to verify proper package installation.Additionally, it adds a manual workflow to verify PyPI installations on all platforms.
Changes:
PR Type
Enhancement
Description
Expand test matrix to macOS and Windows platforms
Reduce Python versions tested to 3.13 only
Change installation method from editable to standard
Add manual workflow for PyPI installation verification
Diagram Walkthrough
File Walkthrough
python-app.yml
Cross-platform test matrix and standard installation.github/workflows/python-app.yml
pip install -e .) tostandard mode (
pip install .)fail-fast: falseto allow all matrix combinations to completemanual_verify_install.yml
New manual PyPI installation verification workflow.github/workflows/manual_verify_install.yml
workflow_dispatchSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.