ci: install greenlet for the reflex 0.8.23 playground job

Merged
FA
7h ago
+4-2

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 --version fails with the same ImportError as CI
  • with greenlet (SQLAlchemy 2.1.3, sqlmodel 0.0.48): reflex --version prints 0.8.23, and reflex compile in examples/playground succeeds (97/97 pages)