solara
solara copied to clipboard
Add pre-release dependency testing to catch breaking changes early
This adds a new CI job that runs nightly to test against pre-release versions of critical dependencies (ipykernel, ipywidgets, ipyvue, ipyvuetify, jupyter-client, traitlets).
The job will create warnings when pre-release versions introduce breaking changes, giving us advance notice before stable releases.
This would have caught the ipykernel 7.0.0 breaking changes that are currently causing test failures (see widgetti/solara#1110).
Only runs on scheduled builds to minimize CI overhead.
We already do this, although it's not that clearly visible from the workflow file: https://github.com/widgetti/solara/blob/0f5facd9a513161584792100ed4c4e07a0d036bb/.github/workflows/test.yaml#L301
If we run during the night, we don't use the lockfile, and we indeed saw that the uvicorn dep was breaking (next is the time to fix, which is now :))
ok, this is with --pre actually, hmm, i'm not sure if solara should be doing that, i think that's really for core ecosystem libraries (numpy, pandas) to do, less so for more downstream libraries.
ipykernel had their first 7.0 pre-release on Oct 22, 2024. That would meant we would have had full year to fix the issue, instead of it breaking user workflows and CI systems.
This buys you time :)
true, but there is a cost for everything. like maintaining workflow files, and we cannot take the responsibility for testing all upstream libraries. What we could do, is to run with --pre on every monday, then at least it's not an extra thing to maintain (our workflow files are complex already)
Fair. Should I put in in a different file and on a schedule then?