From 8faff6818155a1c676207b64385da0f03d81de66 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Wed, 19 Aug 2026 12:16:10 +1000 Subject: [PATCH] Pin jax to 0.11.0 in CI -- jax 0.11.1 hangs the fori_loop cells on CPU jax 0.11.1 (2026-08-17) regresses lax.fori_loop on the CPU path: numpy_vs_numba_vs_jax executes in seconds under 0.11.0 and exceeds even the new 1800s cell timeout under 0.11.1. This repo had no workflow-level jax install, so the lecture's unpinned '!pip install quantecon jax' cell resolved the broken release on every build. Full evidence and the family-wide exposure map are recorded in QuantEcon/workspace-lectures#49. Co-Authored-By: Claude Fable 5 --- .github/workflows/cache.yml | 9 +++++++++ .github/workflows/ci.yml | 9 +++++++++ .github/workflows/publish.yml | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml index a864511..cd93d62 100644 --- a/.github/workflows/cache.yml +++ b/.github/workflows/cache.yml @@ -17,6 +17,15 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon + - name: Install JAX (CPU, pinned) + shell: bash -l {0} + run: | + # Pinned: jax 0.11.1 (2026-08-17) hangs numpy_vs_numba_vs_jax's + # lax.fori_loop cells on the CPU path -- context is recorded in + # QuantEcon/workspace-lectures#49. With jax already present, the + # lecture's unpinned `!pip install quantecon jax` cell is satisfied + # and does not upgrade. + pip install "jax==0.11.0" - name: Build HTML shell: bash -l {0} run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee8e2c9..fdbd367 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,15 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon + - name: Install JAX (CPU, pinned) + shell: bash -l {0} + run: | + # Pinned: jax 0.11.1 (2026-08-17) hangs numpy_vs_numba_vs_jax's + # lax.fori_loop cells on the CPU path -- context is recorded in + # QuantEcon/workspace-lectures#49. With jax already present, the + # lecture's unpinned `!pip install quantecon jax` cell is satisfied + # and does not upgrade. + pip install "jax==0.11.0" - name: Install latex dependencies run: | sudo apt-get -qq update diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cbc40c4..0c7667a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,6 +21,15 @@ jobs: python-version: "3.13" environment-file: environment.yml activate-environment: quantecon + - name: Install JAX (CPU, pinned) + shell: bash -l {0} + run: | + # Pinned: jax 0.11.1 (2026-08-17) hangs numpy_vs_numba_vs_jax's + # lax.fori_loop cells on the CPU path -- context is recorded in + # QuantEcon/workspace-lectures#49. With jax already present, the + # lecture's unpinned `!pip install quantecon jax` cell is satisfied + # and does not upgrade. + pip install "jax==0.11.0" - name: Install latex dependencies run: | sudo apt-get -qq update