Skip to content

Auto prod accept - #16

Merged
BehRoooz merged 5 commits into
mainfrom
auto-prod-accept
Jul 27, 2026
Merged

Auto prod accept#16
BehRoooz merged 5 commits into
mainfrom
auto-prod-accept

Conversation

@BehRoooz

Copy link
Copy Markdown
Owner

Summary

Introduces new Design for ProSeqGo Compose: a CPU-portable base stack with optional GPU and CI overlays. The serving stack can start on CPU-only hosts (e.g. GitHub Actions) while local dev still uses GPU automatically when NVIDIA is available.

What changed

Compose architecture

  • docker-compose.yml — Refactored to a portable base: removed gpus: all and NVIDIA_VISIBLE_DEVICES from embedding-worker, go-prediction-api, and trainer-worker.
  • docker-compose.gpu.yml (new) — GPU overlay adding gpus: all for inference/training workers on NVIDIA hosts.
  • docker-compose.ci.yml (new) — CI overlay forcing CAFA_DEVICE=cpu, CPU PyTorch wheels (TORCH_INDEX_URL=.../cpu), and skipping backup sidecars via the ci-skip profile.

Makefile

  • Auto-detects NVIDIA via nvidia-smi and merges the GPU overlay for make up / make down / training / monitoring targets.
  • Adds make ci-up (runs ci-env + gateway-auth + CPU compose stack) and make ci-down (tear down with volumes).
    Renames up-all / down-allall-up / all-down.

Documentation

  • Updated README.md, .github/CI.md, tests/smoke/README.md, and .env.example to document the overlay pattern and CI smoke workflow.

Smoke test fix

  • tests/smoke/smoke_embedding_api.sh — Fixes predict-go-from-fasta JSON validation (env-based parsing instead of heredoc stdin) and defaults BASE_URL to http://localhost.

Why

  • Previously, gpus: all in the base compose file blocked the stack from starting on CPU-only machines, which blocked Phase 3 CI smoke on GitHub-hosted runners. Application code already supported CPU via CAFA_DEVICE=auto, but Compose enforced GPU at container startup.

BehRoooz added 5 commits July 27, 2026 15:43
Remove gpus: all and NVIDIA_VISIBLE_DEVICES from the portable base stack
so ProSeqGo boots on CPU-only hosts (GitHub Actions, CPU cloud VMs).
Add docker-compose.gpu.yml to opt into NVIDIA for embedding-worker,
go-prediction-api, and trainer-worker. Add docker-compose.ci.yml to force
CAFA_DEVICE=cpu, use CPU PyTorch wheels, and skip postgres-backup/
backup-offload during serving smoke via the ci-skip profile.
Introduce COMPOSE_DEV_FILES (base + gpu when nvidia-smi works) and
COMPOSE_CI_FILES (base + ci overlay) so local dev and CI smoke share one
command surface.

Add ci-up (ci-env + gateway-auth + compose up) and ci-down (down -v).
Route training/monitoring/all-up targets through the same dev file set.
Rename up-all/down-all to all-up/all-down for consistency.
…es in README and CI.md. Document

make ci-up / make smoke / make ci-down in smoke README. Move gateway
vars to the top of .env.example and note CAFA_DEVICE behavior across
base, gpu, and ci overlays.
Replace heredoc stdin parsing with python -c + PRED_RESP env var so
large JSON responses are validated correctly. Default BASE_URL to
http://localhost for consistency with gateway docs.
@BehRoooz
BehRoooz merged commit d8a19c3 into main Jul 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant