solara icon indicating copy to clipboard operation
solara copied to clipboard

Add pre-release dependency testing to catch breaking changes early

Open EwoutH opened this issue 1 month ago • 5 comments

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.

EwoutH avatar Oct 16 '25 12:10 EwoutH

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 :))

maartenbreddels avatar Oct 17 '25 09:10 maartenbreddels

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.

maartenbreddels avatar Oct 17 '25 09:10 maartenbreddels

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 :)

EwoutH avatar Oct 17 '25 10:10 EwoutH

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)

maartenbreddels avatar Oct 17 '25 12:10 maartenbreddels

Fair. Should I put in in a different file and on a schedule then?

EwoutH avatar Oct 17 '25 12:10 EwoutH