Skip to content

Add initial PR E2E harness#320

Merged
marccampbell merged 14 commits into
mainfrom
e2e-suite
May 25, 2026
Merged

Add initial PR E2E harness#320
marccampbell merged 14 commits into
mainfrom
e2e-suite

Conversation

@marccampbell

@marccampbell marccampbell commented May 25, 2026

Copy link
Copy Markdown
Contributor

Adds a PR-gated Depot E2E test that exercises the real GitHub Issues + Daytona workflow path.

What this does:

  • Starts ngrok for inbound tracker webhooks.
  • Builds and starts the current ElasticClaw Server with public_url set to the ngrok URL.
  • Configures Daytona as the sandbox provider.
  • Configures Fireworks with fireworks/accounts/fireworks/models/kimi-k2p6.
  • Creates and pushes a workspace with the ElasticClaw CLI.
  • Creates the workspace GitHub App with the ElasticClaw CLI.
  • Configures the workspace GitHub Issues tracker.
  • Creates and pushes a GitHub Issues workflow with the ElasticClaw CLI.
  • Creates a real fixture issue: Tell a dad joke. Do not make a PR.
  • Labels the issue to trigger the workflow.
  • Waits for exactly one Daytona-backed agent, waits for it to connect, waits for a reply, and checks that no PR cross-reference was created.
  • Cleans up the agent, issue, webhook, and workspace.

Fixture repo:

  • elasticclaw/e2e-fixtures

Required Depot secrets:

  • ELASTICCLAW_E2E_GITHUB_TOKEN
  • ELASTICCLAW_E2E_GITHUB_APP_ID
  • ELASTICCLAW_E2E_GITHUB_APP_PRIVATE_KEY
  • DAYTONA_API_KEY
  • FIREWORKS_API_KEY
  • NGROK_AUTHTOKEN

Optional Depot vars:

  • ELASTICCLAW_E2E_GITHUB_REPO
  • ELASTICCLAW_E2E_GITHUB_APP_URL
  • ELASTICCLAW_E2E_GITHUB_APP_INSTALLATION

Verified locally:

  • env GOCACHE=/private/tmp/elasticclaw-go-build go test ./test/e2e -run TestDaytonaGitHubIssuesWorkflowE2E -count=1
  • env GOCACHE=/private/tmp/elasticclaw-go-build go build -o /private/tmp/elasticclaw-e2e-build .

@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "Move E2E workflow to Depot CI" | Re-trigger Greptile

Comment thread .depot/workflows/e2e.yml Outdated
Comment thread test/e2e/e2e_test.go
@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (2): Last reviewed commit: "Run E2E against real Daytona workflow" | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (3): Last reviewed commit: "Add local E2E make target" | Re-trigger Greptile

Comment thread test/e2e/e2e_test.go
@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (4): Last reviewed commit: "Isolate E2E ngrok config" | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (5): Last reviewed commit: "Manage temporary ngrok domains for E2E" | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Security Review

  • Unauthenticated binary download endpoint (pkg/hub/server.go): The /__elasticclaw_e2e/claw-bridge-linux-amd64 route is added to the production HTTP server with no auth check. Any network client can download the bridge binary when ELASTICCLAW_E2E_BRIDGE_BINARY is set. All other dynamic endpoints in the same file use withAuth; this one does not.

Reviews (6): Last reviewed commit: "Serve local connector in E2E" | Re-trigger Greptile

Comment thread pkg/hub/server.go Outdated
@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (7): Last reviewed commit: "Clean up E2E GitHub issues and labels" | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Reviews (8): Last reviewed commit: "Shorten E2E run IDs" | Re-trigger Greptile

@marccampbell marccampbell merged commit 09a7760 into main May 25, 2026
5 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