diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 899ebe833..07a0acde7 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -158,6 +158,53 @@ jobs: python3 scripts/check_migration_safety.py --allow-medium-risk fi + - name: Debug coverage paths + shell: sh + run: | + set +e + echo "=== PWD ===" + pwd + echo "=== check source dirs ===" + ls -d apps/api/app packages + echo "=== python import check ===" + python3 - <<'PY' + import sys, os + os.environ["PYTHONPATH"] = f"{os.getcwd()}/apps/api:{os.getcwd()}" + sys.path.insert(0, f"{os.getcwd()}/apps/api") + sys.path.insert(0, os.getcwd()) + print(f"cwd: {os.getcwd()}") + print(f"sys.path[:5]: {sys.path[:5]}") + try: + import app + print(f"app.__file__: {app.__file__}") + except Exception as e: + print(f"import app failed: {e}") + try: + import packages + print(f"packages.__file__: {packages.__file__}") + except Exception as e: + print(f"import packages failed: {e}") + PY + echo "=== coverage debug ===" + python3 - <<'PY' + import os, sys + sys.path.insert(0, f"{os.getcwd()}/apps/api") + sys.path.insert(0, os.getcwd()) + import coverage + cov = coverage.Coverage(source=["apps/api/app", "packages"]) + print(f"source: {cov.config.source}") + for src in cov.config.source or []: + abspath = os.path.abspath(src) + print(f" {src} -> {abspath} exists={os.path.exists(src)}") + if os.path.isdir(src): + pyfiles = [] + for root, dirs, files in os.walk(src): + for f in files: + if f.endswith('.py'): + pyfiles.append(os.path.join(root, f)) + print(f" .py files: {len(pyfiles)}") + PY + - name: Run unit tests shell: sh env: