From 639c188518f3364c56fcbf213b402aa9cc4e296e Mon Sep 17 00:00:00 2001 From: CleverThis Date: Wed, 3 Jun 2026 02:01:30 -0400 Subject: [PATCH] fix(benchmarks): import CloudSandboxStrategy from cloud_aws; guard empty base_ref in benchmark-regression workflow CloudSandboxStrategy is defined in cloud_aws.py, not cloud.py. The benchmark was importing it from the wrong module, causing an ImportError during benchmark discovery. The benchmark-regression CI job's "Compute base commit" step used forgejo.base_ref which is empty for push events, causing `git merge-base HEAD "origin/"` to fail with exit 128. Add a guard that falls back to HEAD~1 when base_ref is unset. --- .forgejo/workflows/master.yml | 9 +++++++-- benchmarks/cloud_resource_bench.py | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/master.yml b/.forgejo/workflows/master.yml index 0571f284a..200282ab5 100644 --- a/.forgejo/workflows/master.yml +++ b/.forgejo/workflows/master.yml @@ -29,8 +29,13 @@ jobs: - name: Compute base commit id: hash run: | - git fetch origin "${{ forgejo.base_ref }}" --depth=200 - BASE_SHA=$(git merge-base HEAD "origin/${{ forgejo.base_ref }}") + BASE_REF="${{ forgejo.base_ref }}" + if [ -n "${BASE_REF}" ]; then + git fetch origin "${BASE_REF}" --depth=200 + BASE_SHA=$(git merge-base HEAD "origin/${BASE_REF}") + else + BASE_SHA=$(git rev-parse HEAD~1 2>/dev/null || git rev-parse HEAD) + fi echo "ASV_BASE_SHA=${BASE_SHA}" >> $FORGEJO_OUTPUT - name: Install dependencies diff --git a/benchmarks/cloud_resource_bench.py b/benchmarks/cloud_resource_bench.py index cc1fca28b..c90e67166 100644 --- a/benchmarks/cloud_resource_bench.py +++ b/benchmarks/cloud_resource_bench.py @@ -16,18 +16,18 @@ from pathlib import Path try: from cleveragents.resource.handlers.cloud import ( CloudResourceHandler, - CloudSandboxStrategy, resolve_credentials, validate_credentials, ) + from cleveragents.resource.handlers.cloud_aws import CloudSandboxStrategy except ModuleNotFoundError: sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src")) from cleveragents.resource.handlers.cloud import ( CloudResourceHandler, - CloudSandboxStrategy, resolve_credentials, validate_credentials, ) + from cleveragents.resource.handlers.cloud_aws import CloudSandboxStrategy _CLOUD_ENV_VARS = [