ci: install greenlet for the reflex 0.8.23 playground job
Merged
FA
7h ago+4+4+0123456789-2-2-0123456789
Fixes #7559.
The playground-0.8.23 job in examples.yml started to fail on 2026-10-14: the last pass on main was f615739c2e and the first failure was 3281edc6ad. The install logs of those two runs differ in one dependency chain:
- greenlet==3.5.6
- sqlalchemy==2.0.54 -> + sqlalchemy==2.1.3
- sqlmodel==0.0.47 -> + sqlmodel==0.0.48
sqlmodel 0.0.48 allows SQLAlchemy 2.1, and SQLAlchemy 2.1 only installs greenlet with its asyncio extra. reflex 0.8.23 imports sqlalchemy.ext.asyncio at startup (reflex/model.py, line 58), so reflex --version now fails with ImportError. Main is not affected (#7440), but 0.8.23 is already published.
This PR installs greenlet next to reflex 0.8.23, so the job still tests 0.8.23 against current SQLAlchemy.
Verified locally in a fresh Python 3.12 venv:
- without
greenlet:reflex --versionfails with the sameImportErroras CI - with
greenlet(SQLAlchemy 2.1.3, sqlmodel 0.0.48):reflex --versionprints0.8.23, andreflex compileinexamples/playgroundsucceeds (97/97 pages)