Skip to content

e2e controlplane: drop removed repo remote url, run suite on PRs - #2578

Merged
gtrrz-victor merged 2 commits into
mainfrom
fix-control-plane-test
Sep 24, 2026
Merged

gtrrz-victor merged 2 commits into
mainfrom
fix-control-plane-test

Conversation

@gtrrz-victor

@gtrrz-victor gtrrz-victor commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

https://entire.io/gh/entireio/cli/trails/1417

Why

E2E Control Plane run 35990680503 failed on main: #2548 removed entire repo remote url, but TestControlPlane_NativeMirrorLifecycle still called it (unknown command "url" for "entire repo remote"), and every later phase was skipped. The suite only runs on pushes to main, so the PR didn't catch it.

What

  • Test: delete the phase that used repo remote url. Its primary-default check is already covered by "no --cluster resolves the primary, and --override repoints", which runs repo remote add home without a TTY. Its unknown-cluster check moves into that phase, run inside the clone: repo remote add stray --cluster no-such-cluster.entire.io must fail with not mirrored on and list both cluster hosts, and must not write the remote.
  • Workflow: also run on pull_request to main, for same-repo PRs only (forks get no secrets). Slack still notifies only when a push to main fails.

Note

PR runs share the e2e-controlplane concurrency group, so they never hit the shared account at the same time. GitHub keeps only one waiting run per group, though, so a PR run can replace a merge-to-main run that is waiting in the queue. Running jobs are never cancelled, so no resources leak.

Test plan

  • mise run check
  • E2E Control Plane passes on this PR (the new trigger runs it)

馃 Generated with Claude Code


Note

Medium Risk
PR runs exercise production E2E against a shared account (queued, not parallel), and workflow gating must stay correct so fork PRs do not fail spuriously on missing secrets.

Overview
Fixes control-plane E2E breakage after entire repo remote url was removed, and runs that suite on same-repo PRs so regressions surface before merge.

Tests: Removes the lifecycle phase that called the deleted url subcommand. Primary-without---cluster behavior stays covered via non-interactive repo remote add home. The unknown-cluster case moves into that phase: repo remote add stray --cluster no-such-cluster.entire.io must error with not mirrored on, list both cluster hosts, and leave stray unset.

CI: e2e-controlplane.yml also triggers on pull_request to main, gated so fork PRs skip (no secrets). PR jobs share the existing e2e-controlplane concurrency group. Slack failure alerts still fire only on failed pushes to main; message copy is updated accordingly.

Reviewed by Cursor Bugbot for commit 932eb30. Configure here.

#2548 removed `entire repo remote url`, but a native-mirror lifecycle
phase still called it, so the control-plane suite failed on main. The
primary-default half was already covered by the `remote add` phase; the
unknown-cluster refusal moves there, run inside the clone.

The suite only ran on pushes to main, which is how this slipped through.
It now also runs on same-repo PRs to main (forks get no secrets). Slack
still notifies only for main.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 01M39N8CRAJM2WR38XJ0K4M862
@gtrrz-victor
gtrrz-victor requested a review from a team as a code owner September 24, 2026 12:12
Copilot AI lite review requested due to automatic review settings September 24, 2026 12:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

馃數 Needs a closer look

Dependabot PRs may run without secrets and fail instead of being skipped.

Review effort: Lite
Findings: None

What changed in this PR

Updates control-plane E2E coverage and enables eligible pull requests to run the suite.

Changes:

  • Removes obsolete repo remote url testing and expands remote-add assertions.
  • Adds gated PR workflow execution while preserving push-only Slack alerts.
File Summary
e2e/鈥媍ontrolplane/鈥媙ative_mirror_test.go Updates native mirror lifecycle coverage.
.github/鈥媤orkflows/鈥媏2e-controlplane.yml Adds PR execution and notification gating; Dependabot PRs also need exclusion.

馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Dependabot PRs come from same-repo branches, so the fork guard let them
through, but their runs get only Dependabot secrets and would fail at
login while holding the shared account's queue.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 01M39PGZS1S9FK09YTYYNN84GV
@gtrrz-victor
gtrrz-victor merged commit b5f73d5 into main Sep 24, 2026
17 of 18 checks passed
@gtrrz-victor
gtrrz-victor deleted the fix-control-plane-test branch September 24, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants