From 186b7358a7957752c294e5b449b0810509fc685c Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Tue, 6 Oct 2026 08:41:49 +0000 Subject: [PATCH 1/3] common-expression-language: Add versions 0.9.0, 0.10.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/common-expression-language.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/packages/common-expression-language.yaml b/docs/packages/common-expression-language.yaml index 76c8b85e188..57eb1a1ffc0 100644 --- a/docs/packages/common-expression-language.yaml +++ b/docs/packages/common-expression-language.yaml @@ -24,3 +24,5 @@ versions: - filename: common_expression_language-0.8.0-cp315-cp315t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl sha256: 665d9cfc86311ce26d1d1790f0a70c0aba5122d96294bc2f3e88064874376073 requires-python: '>=3.11' +- version: 0.9.0 +- version: 0.10.0 From e5d8db1eacca34708fa472db1453909c5a942eeb Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 9 Oct 2026 16:32:05 +0000 Subject: [PATCH 2/3] common-expression-language: carry forward riscv64 patches to 0.9.0, 0.10.0 Nightly version bump omitted the patches/common-expression-language/ directory for 0.9.0, 0.10.0, so the build's unconditional `git apply .../*.patch` step failed with "No such file or directory" before any build/test ran. Copied forward the same patch set from 0.8.0 (unchanged since then). --- ...001-cli-import-Annotated-from-typing.patch | 47 +++++++++++++++++++ ...001-cli-import-Annotated-from-typing.patch | 47 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch create mode 100644 patches/common-expression-language/0.9.0/0001-cli-import-Annotated-from-typing.patch diff --git a/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch b/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch new file mode 100644 index 00000000000..60f0870d03f --- /dev/null +++ b/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch @@ -0,0 +1,47 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 4 Oct 2026 11:30:00 +0000 +Subject: [PATCH] cli: import Annotated from typing, not typing_extensions + +Upstream-Status: Backport [https://github.com/hardbyte/python-common-expression-language/commit/212cf00c48b6dd1a7fe35ae092eee414b1825f01] + +cel/__init__.py imports cel.cli, which imports Annotated from +typing_extensions. typing_extensions is not a declared dependency; it +used to arrive transitively through typer, but typer 0.21.2 dropped it, +so `import cel` fails with "No module named 'typing_extensions'" in any +clean environment. This reproduces on every architecture, not just +riscv64. + +Upstream fixed it in 212cf00 ("Fix `import cel` failing in a clean +install", #44, released in 0.10.0) by importing Annotated from the +standard library's typing module (Python >= 3.9; the package requires +>= 3.11). This backports the python/cel/cli.py hunk of that commit. + +Signed-off-by: Ludovic Henry +--- + python/cel/cli.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/python/cel/cli.py b/python/cel/cli.py +index 22ea1e1..216cc38 100644 +--- a/python/cel/cli.py ++++ b/python/cel/cli.py +@@ -16,7 +16,7 @@ import sys + import time + from importlib.metadata import PackageNotFoundError, version + from pathlib import Path +-from typing import Any, Dict, Optional, Tuple ++from typing import Annotated, Any, Dict, Optional, Tuple + + import typer + +@@ -35,7 +35,6 @@ from rich.console import Console + from rich.panel import Panel + from rich.syntax import Syntax + from rich.table import Table +-from typing_extensions import Annotated + + # Import directly from relative modules to avoid circular imports + from .cel import Context, evaluate +-- +2.43.0 diff --git a/patches/common-expression-language/0.9.0/0001-cli-import-Annotated-from-typing.patch b/patches/common-expression-language/0.9.0/0001-cli-import-Annotated-from-typing.patch new file mode 100644 index 00000000000..60f0870d03f --- /dev/null +++ b/patches/common-expression-language/0.9.0/0001-cli-import-Annotated-from-typing.patch @@ -0,0 +1,47 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 4 Oct 2026 11:30:00 +0000 +Subject: [PATCH] cli: import Annotated from typing, not typing_extensions + +Upstream-Status: Backport [https://github.com/hardbyte/python-common-expression-language/commit/212cf00c48b6dd1a7fe35ae092eee414b1825f01] + +cel/__init__.py imports cel.cli, which imports Annotated from +typing_extensions. typing_extensions is not a declared dependency; it +used to arrive transitively through typer, but typer 0.21.2 dropped it, +so `import cel` fails with "No module named 'typing_extensions'" in any +clean environment. This reproduces on every architecture, not just +riscv64. + +Upstream fixed it in 212cf00 ("Fix `import cel` failing in a clean +install", #44, released in 0.10.0) by importing Annotated from the +standard library's typing module (Python >= 3.9; the package requires +>= 3.11). This backports the python/cel/cli.py hunk of that commit. + +Signed-off-by: Ludovic Henry +--- + python/cel/cli.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/python/cel/cli.py b/python/cel/cli.py +index 22ea1e1..216cc38 100644 +--- a/python/cel/cli.py ++++ b/python/cel/cli.py +@@ -16,7 +16,7 @@ import sys + import time + from importlib.metadata import PackageNotFoundError, version + from pathlib import Path +-from typing import Any, Dict, Optional, Tuple ++from typing import Annotated, Any, Dict, Optional, Tuple + + import typer + +@@ -35,7 +35,6 @@ from rich.console import Console + from rich.panel import Panel + from rich.syntax import Syntax + from rich.table import Table +-from typing_extensions import Annotated + + # Import directly from relative modules to avoid circular imports + from .cel import Context, evaluate +-- +2.43.0 From a9cd1cb59ca643eb61950322b3482fc6b646d749 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sat, 10 Oct 2026 07:48:35 +0000 Subject: [PATCH 3/3] common-expression-language: drop 0.10.0 patch, fix shipped upstream The carried-forward 0001-cli-import-Annotated-from-typing.patch is a backport of upstream 212cf00 ("Fix `import cel` failing in a clean install", #44), which was released in 0.10.0. The only change to python/cel/cli.py between 0.9.0 and 0.10.0 is exactly that hunk, so the patch reverse-applies on v0.10.0 and `git apply` failed at python/cel/cli.py:16 on all six 0.10.0 legs. Drop patches/common-expression-language/0.10.0 and guard the patch step with hashFiles() (same as build-fastparquet.yml) so versions with no patch directory skip it instead of failing on the unexpanded glob. --- .../build-common-expression-language.yml | 3 ++ ...001-cli-import-Annotated-from-typing.patch | 47 ------------------- 2 files changed, 3 insertions(+), 47 deletions(-) delete mode 100644 patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch diff --git a/.github/workflows/build-common-expression-language.yml b/.github/workflows/build-common-expression-language.yml index c039b4c5a55..9da692de967 100644 --- a/.github/workflows/build-common-expression-language.yml +++ b/.github/workflows/build-common-expression-language.yml @@ -69,7 +69,10 @@ jobs: path: python-wheels persist-credentials: false + # <= 0.9.0 need the typing.Annotated backport; 0.10.0 ships it (upstream + # 212cf00), so later versions may have no patches/ directory at all. - name: Patch common-expression-language source + if: hashFiles(format('python-wheels/patches/common-expression-language/{0}/*.patch', env.CEL_VERSION)) != '' run: git apply python-wheels/patches/common-expression-language/${{ env.CEL_VERSION }}/*.patch - name: Build and test wheel diff --git a/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch b/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch deleted file mode 100644 index 60f0870d03f..00000000000 --- a/patches/common-expression-language/0.10.0/0001-cli-import-Annotated-from-typing.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ludovic Henry -Date: Sun, 4 Oct 2026 11:30:00 +0000 -Subject: [PATCH] cli: import Annotated from typing, not typing_extensions - -Upstream-Status: Backport [https://github.com/hardbyte/python-common-expression-language/commit/212cf00c48b6dd1a7fe35ae092eee414b1825f01] - -cel/__init__.py imports cel.cli, which imports Annotated from -typing_extensions. typing_extensions is not a declared dependency; it -used to arrive transitively through typer, but typer 0.21.2 dropped it, -so `import cel` fails with "No module named 'typing_extensions'" in any -clean environment. This reproduces on every architecture, not just -riscv64. - -Upstream fixed it in 212cf00 ("Fix `import cel` failing in a clean -install", #44, released in 0.10.0) by importing Annotated from the -standard library's typing module (Python >= 3.9; the package requires ->= 3.11). This backports the python/cel/cli.py hunk of that commit. - -Signed-off-by: Ludovic Henry ---- - python/cel/cli.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/python/cel/cli.py b/python/cel/cli.py -index 22ea1e1..216cc38 100644 ---- a/python/cel/cli.py -+++ b/python/cel/cli.py -@@ -16,7 +16,7 @@ import sys - import time - from importlib.metadata import PackageNotFoundError, version - from pathlib import Path --from typing import Any, Dict, Optional, Tuple -+from typing import Annotated, Any, Dict, Optional, Tuple - - import typer - -@@ -35,7 +35,6 @@ from rich.console import Console - from rich.panel import Panel - from rich.syntax import Syntax - from rich.table import Table --from typing_extensions import Annotated - - # Import directly from relative modules to avoid circular imports - from .cel import Context, evaluate --- -2.43.0