Skip to content

Add production CLI end-to-end coverage#33

Draft
JanJakes wants to merge 4 commits into
trunkfrom
tests
Draft

Add production CLI end-to-end coverage#33
JanJakes wants to merge 4 commits into
trunkfrom
tests

Conversation

@JanJakes
Copy link
Copy Markdown
Contributor

@JanJakes JanJakes commented May 7, 2026

Summary

Adds production-focused end-to-end coverage for the forkpress CLI after the repository split:

  • adds a Rust harness that runs against a supplied built forkpress binary and checks the production command surface, help text, early validation failures, no-site diagnostics, and README command documentation
  • wires the production CLI harness into Linux and macOS CI after the real release binary is built
  • expands the full COW runtime e2e to cover branchctl, local forkpress git branch create, forkpress push, forkpress pull, branch show/status/delete behavior, main-branch delete rejection, and forkpress server stop
  • updates README and storage-driver docs for the production command aliases and adds make test-prod-e2e

Validation

  • make dist
  • make forkpress
  • make test-prod-cli
  • tests/cow/e2e.sh target/aarch64-apple-darwin/release/forkpress
  • make test-prod-e2e
  • cargo fmt --check
  • cargo test --workspace --exclude forkpress-cli
  • cargo test -p forkpress-core --features dev-experiments
  • FORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress-cli --bin forkpress
  • FORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress-cli --features dev-experiments --bin forkpress-dev
  • make test-cow

Local full release-binary e2e validation was run on macOS arm64 (aarch64-apple-darwin). CI runs the new production CLI harness and existing full COW e2e on Linux musl and both macOS release targets.

JanJakes added 3 commits May 11, 2026 12:23
Add a workspace test package that runs exhaustive production CLI scenarios against an externally supplied built forkpress binary via FORKPRESS_E2E_BIN. The suite covers command surface, validation, no-site diagnostics, init, server lifecycle, branch operations, Git checkout flow, agents, logs, doctor, storage, and README command docs.
Cover branchctl aliases, local git branch creation, pull, push, protected main deletion, and server stop in the full COW runtime e2e flow.
Run the Cargo-managed CLI e2e suite in make and CI against the built production binary, document the e2e commands, and update production command docs for the covered aliases.
Keep the ignored exhaustive test as the ordered entrypoint, but move harness logic, shared helpers, and scenario groups into focused modules.
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