@@ -21,17 +21,52 @@ steps:
2121 - name : ' us-central1-docker.pkg.dev/cloud-db-nl2sql/evalbench/eval_server:latest'
2222 entrypoint : ' bash'
2323 # Decrypts the secret from Secret Manager into the DB_PASSWORD environment variable
24- secretEnv : ['DB_PASSWORD']
24+ secretEnv : ['DB_PASSWORD', 'GITHUB_TOKEN']
2525 args :
2626 - ' -c'
2727 - |
2828 set -e
29+
30+ # Only run on release branches
31+ if [[ "$_HEAD_BRANCH" != release-please-* ]]; then
32+ echo "Not a release-please branch. Exiting."
33+ exit 0
34+ fi
35+ echo "Release branch detected. Fetching PR data from GitHub API..."
36+
37+ # Fetch PR data and status code
38+ HTTP_STATUS=$(curl -s -o pr_data.json -w "%{http_code}" -H "Authorization: token $$GITHUB_TOKEN" \
39+ "https://api.github.com/repos/$REPO_FULL_NAME/pulls/$_PR_NUMBER")
40+
41+ if [ "$$HTTP_STATUS" -ne 200 ]; then
42+ echo "Error fetching PR data: HTTP $$HTTP_STATUS"
43+ cat pr_data.json
44+ exit 1
45+ fi
46+
47+ PR_DATA=$(cat pr_data.json)
48+
49+ # Extract labels and title from PR data (Use $$ to escape bash variables)
50+ PR_LABELS=$(echo "$$PR_DATA" | jq -r '[.labels[].name] | join(",")')
51+ PR_TITLE=$(echo "$$PR_DATA" | jq -r '.title')
52+
53+ # Determine Release Version (Use double quotes and $$ for bash variables)
54+ if [[ "$$PR_LABELS" == *"autorelease: triggered"* ]]; then
55+ if [[ "$$PR_TITLE" =~ release\ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then
56+ export RELEASE_VERSION="$${BASH_REMATCH[1]}"
57+ else
58+ export RELEASE_VERSION="unknown"
59+ fi
60+ else
61+ export RELEASE_VERSION="unknown"
62+ fi
63+
2964 # Workaround for evalbench bug: settings are only applied if path basename matches extension ID
3065 ln -s /workspace /workspace/cloud-sql-postgresql
3166 cd /evalbench
3267
3368 export EVAL_GCP_PROJECT_ID=$PROJECT_ID
34- export EVAL_GCP_PROJECT_REGION=us-central1
69+ export EVAL_GCP_PROJECT_REGION=$_CLOUD_SQL_REGION
3570 export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
3671 export CLOUD_SQL_POSTGRES_PROJECT=$PROJECT_ID
3772 export CLOUD_SQL_POSTGRES_INSTANCE=$_CLOUD_SQL_INSTANCE
4378 # Maps the decrypted DB_PASSWORD to the exact variable expected by gemini_cli and extension skills
4479 export CLOUD_SQL_POSTGRES_PASSWORD=$$DB_PASSWORD
4580
81+ # Combine CI metadata with run config
82+ cat /workspace/evals/ci_metadata.yaml >> /workspace/evals/run_config.yaml
83+
4684 # Substitute environment variables in model_config.yaml
4785 python3 /workspace/evals/substitute_env.py
4886
@@ -58,3 +96,5 @@ availableSecrets:
5896 secretManager :
5997 - versionName : projects/$PROJECT_ID/secrets/daily-ci-evals-db-password/versions/latest
6098 env : ' DB_PASSWORD'
99+ - versionName : projects/$PROJECT_ID/secrets/GITHUB_TOKEN/versions/latest
100+ env : ' GITHUB_TOKEN'
0 commit comments