7986ed0aad
Report Generator Tests / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Syntax Tests / build (push) Has been cancelled
API Tests / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Regression Tests / build (push) Has been cancelled
Continuation of #9433. find_datasource_repos.py: drop the gh CLI in favor of urllib + REST with QC_GIT_TOKEN as a Bearer token. The REST /orgs/{org}/repos endpoint only needs the 'repo' scope -- which the PAT already has for git clone -- whereas gh's GraphQL path required 'read:org' and returned HTTP 401 when that scope was missing. Also add HTTP keep-alive via thread-local HTTPSConnection and run the independent JSON download + org listing in parallel to cut end-to-end runtime by ~40%. Log a diagnostic line when QC_GIT_TOKEN is unset so empty output is easier to trace. gh-actions.yml: run the python script inside the container (which already has QC_GIT_TOKEN from docker run -e) and chain it with ci_build_stubs.sh in a single runInContainer bash -c, removing the host->docker exec env round-trip. Drop the -e ADDITIONAL_STUBS_REPOS injection since the python script now supplies the full list. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>