Skip to content

Add one-click deploy CLI orchestration#143

Closed
khaliqgant wants to merge 1 commit into
feat/one-click-manifestfrom
codex/one-click-deploy-cli
Closed

Add one-click deploy CLI orchestration#143
khaliqgant wants to merge 1 commit into
feat/one-click-manifestfrom
codex/one-click-deploy-cli

Conversation

@khaliqgant
Copy link
Copy Markdown
Member

Summary

  • add agentworkforce deploy --one-click for Layer-A persona-ref manifests
  • render a dry-run plan with integrations, required inputs, shared-platform no-secrets signal, and fire summary
  • reuse existing deploy() cloud mode with onExists=update; merge manifest inputs with CLI --input; --yes is noninteractive
  • filter required-input display when values are supplied via --input

Validation

  • corepack pnpm --filter @agentworkforce/cli test -- deploy-command.test.ts
  • corepack pnpm -r build
  • node packages/cli/dist/cli.js deploy --one-click /tmp/cloud-one-click/personas/cloud-small-issue-codex/agent.manifest.json --dry-run

Hold

Stacked on #142 (feat/one-click-manifest). Parked; do not merge until schema PR lands and final e2e gate passes.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3974d7d6-d566-4024-a77b-0847dbc679c2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/one-click-deploy-cli

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new --one-click deployment option to the agentworkforce deploy CLI command, allowing users to deploy an agent manifest directly into the shared cloud platform. It includes parsing, planning, and execution logic for these deployments, along with corresponding unit tests. The review feedback highlights two key areas for improvement: validating that all required inputs are provided before proceeding with a deployment to prevent failures, and ensuring that temporary directories created during testing are properly cleaned up to avoid resource leaks.

Comment on lines +157 to +161
if (parsed.dryRun) {
process.stdout.write('\nok: one-click dry-run\n');
process.exit(0);
return;
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The CLI currently renders the plan with missing required inputs but proceeds to call deploy anyway when not in dry-run mode. This can lead to broken deployments or failures on the cloud side. Consider validating that all required inputs are provided and aborting the deployment if any are missing.

    if (parsed.dryRun) {
      process.stdout.write('\nok: one-click dry-run\n');
      process.exit(0);
      return;
    }

    const missingInputs = requirements.inputs.filter((input) => !(input.name in inputs));
    if (missingInputs.length > 0) {
      die(`deploy --one-click: missing required inputs: ${missingInputs.map((i) => i.name).join(', ')}`);
    }

@@ -1,9 +1,12 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { mkdtemp, writeFile } from 'node:fs/promises';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The temporary directories created by mkdtemp in writeOneClickFixture are never cleaned up, which can clutter the system's temporary directory over time. Consider importing rm from node:fs/promises and cleaning up the created directory in a finally block within each test.

Suggested change
import { mkdtemp, writeFile } from 'node:fs/promises';
import { mkdtemp, writeFile, rm } from 'node:fs/promises';

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional findings.

Open in Devin Review

@khaliqgant
Copy link
Copy Markdown
Member Author

Superseded by #146. This was the manifest-based one-click CLI; its base #142 (AgentManifest schema) is closed, and #145/#146 reworked the command to read the persona file directly as the single source of truth. The reusable platform-secret derivation was already salvaged from the #142 lineage into #146 (Layer B). Closing.

@khaliqgant khaliqgant closed this May 27, 2026
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