Repository navigation
ci: disable automatic Cloud Run deploys (audio-separator service shut down) - #309
Conversation
… down) The us-east4 audio-separator Cloud Run GPU service was shut down on 2026-10-01 as a GCP cost cut. Keep the workflow for manual on-demand redeploys only. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review. WalkthroughThe Cloud Run deployment workflow now runs only when manually dispatched. Comments document the service shutdown date, the separate production GPU job, and steps to restore the service. ChangesCloud Run deployment workflow
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~8 minutes Change: Other Merge Risk: ⚪ Minimal · up to Routine releases and Dockerfile changes are intended to stop triggering deployment of the shut-down service. Manual redeployment remains available after restoring its prerequisites, while production GPU jobs use the separate job. No actionable merge-blocking risk is established. Architecture SummaryArchitecture risk: 🔵 Low · up to The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency. Changed systems: None identified. Architecture concerns Review detailsBefore / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit watched the workflow pause, Comment |
Round 2 of the GCP cost cuts, approved by Andrew. Target: the whole project under $300/mo; the current run-rate is about $400. ## Changes - **karaoke-backend min-instances 1 → 0** (`ci.yml`), about $24/mo. The backend Cloud Run service isn't defined in Pulumi, so the CI flag is the only place this is set. Andrew accepts a ~15s cold start. The 60s `/api/health` uptime check and the `*/10` schedulers keep an instance warm most of the time. With `--cpu-throttling` (request-based billing), a warm instance above the minimum costs nothing while idle. - **audio-separator Cloud Run GPU service shut down** (us-east4), about $22/mo. It is now behind the Pulumi flag `audioSeparatorServiceEnabled`, off by default. The service, SA, IAM bindings, output bucket and AR repo were already removed with a targeted `pulumi up`; the bucket needed the break-glass SA. `audio-separation-job` is untouched; it uses `karaoke-backend-gpu/karaoke-backend`. The separator health check no longer depends on `AUDIO_SEPARATOR_API_URL`, which also fixes a status card that always showed "offline". The CLI now logs a clear hint when the remote API fails. Companion PR: nomadkaraoke/python-audio-separator#309 makes its Cloud Run deploy manual-only. - **backup-to-aws no longer copies job files to S3**, about $15/mo egress. Job files now rely on GCS versioning plus soft-delete. Firestore, secrets, BigQuery, kn-data and git-bundle backups are unchanged. The freshness monitor no longer checks `gcs/job-files/`, and DISASTER-RECOVERY.md is updated. - **Artifact Registry cleanup policies**, about $8–10/mo. Per package: keep the 10 most recent versions plus anything tagged `latest`, `content-` or `cache`; delete all other versions older than 7d. Until now, tagged per-commit images were never deleted. Dropped the CI fallback that copied the GPU base once from us-east4, and deleted the legacy 13 GB us-east4 GPU base package. - Docs: GCP-COST-OPTIMIZATION.md (new section, including how to redeploy the separator on demand), ARCHITECTURE.md, DISASTER-RECOVERY.md. Changes made outside Pulumi (gcf-artifacts cleanup policy, destroying superseded secret versions) are recorded in GCP-COST-OPTIMIZATION.md. ## Tests - `backend/tests/test_system_status_endpoint.py` (new separator status tests) - `infrastructure/functions/backup_to_aws` (49 tests, including a new one that checks job files aren't synced) - `tests/unit/test_audio_remote.py`, `test_audio_processor_local_gpu.py` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Service Availability** * The hosted audio-separation service is no longer available. Audio separation can run locally; users relying on the hosted service will need another deployment. * **Backup and Recovery** * New job files are no longer copied to off-site S3 backups. S3 recovery is limited to files backed up through September 30, 2026; newer outputs may need to be regenerated. * **System Status** * Audio-separator health status now reports the locally installed package version without checking a remote service. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The
audio-separatorCloud Run GPU service in us-east4 was shut down on 2026-10-01 to cut GCP costs (karaoke-gen PR to follow). Prod karaoke-gen jobs never called it; they separate audio in theaudio-separation-jobGPU Cloud Run Job.This PR limits
deploy-to-cloudrun.ymltoworkflow_dispatch. Without it, every PyPI release and Dockerfile change would run a Cloud Build, then fail ongcloud run services updatebecause the service and its Artifact Registry repo no longer exist. The header comment explains how to bring the service back on demand.🤖 Generated with Claude Code
Summary by CodeRabbit