feat(#6811): add GCE-based GitLab runner provisioning scripts - #6813
feat(#6811): add GCE-based GitLab runner provisioning scripts#6813fullsend-ai-coder[bot] wants to merge 2 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Add create-gcp-vm.sh and delete-gcp-vm.sh to provision GitLab Runner VMs on GCE, mirroring the existing OpenShift Virtualization workflow. Rename create-vm.sh to create-openshift-vm.sh and delete-vm.sh to delete-openshift-vm.sh to disambiguate between platforms. create-gcp-vm.sh provisions a Fedora GCE VM (e2-standard-4, 20 GB pd-balanced) in the gitlab-runners VPC network, registers a GitLab runner via the API, copies setup files via gcloud compute scp, and runs setup.sh. delete-gcp-vm.sh deregisters the runner and deletes the GCE instance. Both scripts follow the same patterns as their OpenShift counterparts (gl_curl helper, input validation, rollback traps, sha256 file verification). setup.sh remains unchanged (platform-agnostic). README.md updated with separate quick-start sections for OpenShift and GCE workflows and platform-specific environment variable tables. Note: pre-commit could not fetch remote hooks (network-restricted sandbox). Hooks were run directly: shellcheck passed on all scripts, YAML validated, markdown links checked via lychee. Closes #6811
9b7714e to
3de3906
Compare
|
🤖 Review · Commit: |
|
🤖 Finished Review · ✅ Success · Started 6:25 PM UTC · Completed 6:40 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $6.69 |
|
Risk Assessment: moderate (2/5) DetailsModerate risk, unchanged from prior assessment. The PR adds GCE provisioning scripts to hack/gitlab-runner-vm — an additive feature with no production code impact. The large blast radius score is the primary risk driver, but offset by changes confined to hack/ tooling scripts with no protected paths, no security-sensitive files, and no CI or dependency changes. Previous runRisk Assessment: moderate (2/5) DetailsModerate risk. The PR adds GCE provisioning scripts to the hack/gitlab-runner-vm directory — an additive feature with no production code impact. The large blast radius score (from LINES_CHANGED near 800) is the primary risk driver, but this is offset by the fact that changes are confined to hack/ tooling scripts with no protected paths, no security-sensitive files, no CI workflow changes, and no dependency modifications. The directory has seen moderate recent churn with fix commits, but the PR is well-scoped to its issue and authored by a known bot. |
ReviewFindingsLow
Previous runReviewFindingsMedium
Low
Labels: PR adds GCE runner provisioning scripts to hack/gitlab-runner-vm/ Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 6:42 PM UTC · Completed 6:47 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.14 |
Add `usage >&2` to the GCP_PROJECT validation block in create-gcp-vm.sh, matching the pattern used by GL_TOKEN and PROJECT_ID blocks. Operators now get consistent feedback regardless of which required variable is missing. Addresses #6813
🔧 Fix agent — iteration 1 (bot-triggered)Fixed the GCP_PROJECT validation block to include Fixed (1):
Disagreed (2):
Tests: passedNext steps:
|
|
🤖 Finished Review · ✅ Success · Started 6:49 PM UTC · Completed 7:04 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $5.60 |
Superseded by updated review
Summary
Add GCE-based GitLab runner provisioning scripts alongside the existing OpenShift Virtualization workflow. Rename existing scripts to disambiguate platforms.
Changes
create-vm.sh→create-openshift-vm.shanddelete-vm.sh→delete-openshift-vm.shcreate-gcp-vm.sh— provisions a Fedora GCE VM (e2-standard-4, 20 GB pd-balanced,gitlab-runnersVPC), registers a GitLab runner, copies setup files viagcloud compute scp, and runssetup.shdelete-gcp-vm.sh— deregisters the runner from GitLab and deletes the GCE instanceREADME.mdwith separate quick-start sections for OpenShift and GCE, and platform-specific environment variable tablesvm.yaml,gitlab-runner-version.sh, andsetup.shcommentssetup.shremains unchanged — it is platform-agnosticTesting
shellcheckpasses on all new and renamed scriptsvm.yamllycheesetup.shis unmodified (aside from comment references)Closes #6811
Post-script verification
agent/6811-gce-runner-scripts)2db46c4db0caacbd4f29284b4eeda72e6c01b2b2..HEAD)