Claude/convoy readme installer#24
Merged
Merged
Conversation
…y+Cloud Run runners Closes #13, #14, #15, #16, #17. #13 — topoSortLanes() in src/core/plan.ts uses Kahn's algorithm to produce deployment waves from plan.dependencies. CanaryStage's scripted path now iterates waves so dependent services wait for their upstream lanes before starting. #14 — Full Railway runner (src/adapters/railway/runner.ts): railwayDeploy polls railway status --json until SUCCESS/FAILED; railwayRollback redeploys prior deployment. Full Cloud Run runner (src/adapters/cloudrun/runner.ts): cloudRunDeploy calls gcloud run deploy --format json; cloudRunRollback uses update-traffic to pin to the previous revision. CanaryStage dispatches to #runRealRailway / #runRealCloudRun via dynamic imports. CLI gains --real-railway, --railway-project, --real-cloudrun, --cloudrun-service, --cloudrun-image, --cloudrun-region, --cloudrun-project flags. #15 — src/orient/index.ts: orientRepo() reads .github/workflows/*.yml for triggers, deploy steps, and ${{ secrets.* }} references; detects Doppler / Infisical / Vault / AWS SM from package.json deps and config files; detects Sentry / Datadog / New Relic / structured-logging. CLI gains convoy orient [path] --json command. #16 — src/onboard/preferences.ts: DeployPreferences interface with deployment, platform, release, secrets/compliance, observability, and _adaptive sections; loadPreferences / savePreferences / mergePreferences. src/onboard/index.ts: five-section readline wizard with non-interactive path (pre-filled JSON). convoy plan now warns when .convoy/preferences.json is absent and applies platform.mandate as override. CLI gains convoy onboard [path] --answers <json>. #17 — src/core/run-history.ts: append-only .convoy/run-history.jsonl; computeTrustLevel() escalates 0→4 based on successful deploys and rollback rate; shouldAutoApprove() returns true for open_pr at trust≥1 (rehearsal clean) and promote at trust≥2 — always false when any compliance requirement is set. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y+Cloud Run runners Closes #13, #14, #15, #16, #17. #13 — DAG-aware lane sequencing: topoSortLanes() in plan.ts produces deployment waves from plan.dependencies; CanaryStage iterates waves so infra deploys before backend which deploys before frontend. #14 — Real Railway + Cloud Run runners: full railway/runner.ts and cloudrun/runner.ts with auth, deploy, rollback, secrets push. RealRailwayOpt + RealCloudRunOpt wired into OrchestratorOpts and CanaryStage. --real-railway / --real-cloudrun CLI flags added. #15 — convoy orient: src/orient/index.ts reads CI workflows, secret refs, secrets manager signals, and observability stack. CLI command and convoy_orient MCP tool added. #16 — convoy onboard: src/onboard/preferences.ts (DeployPreferences schema + load/save/merge helpers) + src/onboard/index.ts (interactive five-section wizard). CLI command, convoy_onboard MCP tool, and integration with convoy plan (reads mandate + warns if no prefs file). #17 — Adaptive trust layer: src/core/run-history.ts records every run outcome to .convoy/run-history.jsonl and computes trust levels 0-4 per service. awaitApproval reads trust and auto-approves open_pr at level 1+ and promote at level 2+ when rehearsal is clean and no compliance requirement is set. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…o assemble .env by hand Three gaps conspired to skip the key prompt entirely on fresh installs: 1. No .env.example existed at the repo root (only demo-app/ had one), so the copy step never fired and .env was never created. 2. With no .env, the prompt branch was unreachable — the installer fell through to "copy .env.example yourself" advice referencing a file that didn't exist. 3. Under `curl | bash` (the README one-shot path), stdin is the script itself, so the `[ -t 0 ]` tty check failed and the prompt was silently skipped even when .env existed. Now: a root .env.example is committed, the installer synthesizes a minimal .env when the example is missing, and the prompt reads from /dev/tty so piped installs still ask for the key interactively. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.