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