-
-
Notifications
You must be signed in to change notification settings - Fork 49
Fix CI to use latest package versions #163
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
Fix CI to use latest package versions #163
Conversation
Resolves issue where CI tests were getting outdated package versions (juliacall 0.9.26 instead of 0.9.28, juliapkg 0.1.17 instead of 0.1.22) despite setup.py specifying only lower bounds. Changes: - Replace jill-based Julia installation with julia-actions/setup-julia@v2 - More reliable and standard approach for GitHub Actions - Eliminates dependency conflicts in CI environment - Recommended by PythonCall.jl maintainer in issue #689 - Add --upgrade flag to tox install command - Forces pip to always upgrade to latest compatible versions - Prevents stale cached versions from being used - Bump juliacall minimum version to 0.9.28 - Ensures compatibility with latest features and fixes - Matches current stable release Related: JuliaPy/PythonCall.jl#689 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
juliacall 0.9.28 requires Python 3.9+. Python 3.8 reached EOL in October 2024, so dropping support aligns with upstream requirements. Changes: - Remove Python 3.8 from package classifiers - Add python_requires='>=3.9' to setup.py - Update CI matrix to test Python 3.9 and 3.13 instead of 3.8 and 3.13 This fixes the CI error: "ERROR: No matching distribution found for juliacall>=0.9.28" on Python 3.8 runners. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Update: Dropped Python 3.8 SupportThe CI was failing with: This is because juliacall 0.9.28 requires Python 3.9+. The last version to support Python 3.8 was juliacall 0.9.22. Since Python 3.8 reached end-of-life in October 2024, I've updated the PR to:
This aligns with upstream requirements and ensures we can use the latest juliacall features. |
CI Test Failure AnalysisThe CI is now completing package installation successfully, but 1 test is failing in Key Finding: This is a pre-existing issueLooking at recent CI history:
The Errorjuliacall.JuliaError: MethodError: Cannot `convert` an object of type
OrdinaryDiffEqRosenbrock.Rosenbrock23Cache{...} to an object of type ...This is a Julia-level type incompatibility in the DifferentialEquations.jl solver internals, not related to package versions or our changes. Root CauseThis appears to be a breaking change in Julia's DifferentialEquations.jl ecosystem between January and September 2025. The issue affects:
RecommendationThis PR successfully fixes the original package versioning issue. The
This PR should be merged as it resolves the stated goal of ensuring CI uses latest package versions. |
Summary
Resolves the issue where CI tests were getting outdated package versions despite setup.py specifying only lower bounds:
Root Cause
The issue was caused by:
Changes Made
1. Replace jill with setup-julia GitHub Action
julia-actions/setup-julia@v22. Force package upgrades in tox
install_command = pip install --upgrade {opts} {packages}to tox.ini3. Bump juliacall minimum version
juliacall>=0.9.14tojuliacall>=0.9.28in setup.pyTesting
Locally verified that:
Related Issues
Notes
🤖 Generated with Claude Code