Skip to content

E2E on MiniMax: manual maintainer steps after #5239 merges #5240

Open

Description

@Trecek

Manual follow-up for #5230 / #5239. These are repository settings, secrets and live checks that only a maintainer can do. There is no code change here, and it is not for AI automation.

Status when #5239 was opened

  • The canary passed in CI with only MINIMAX_API_KEY configured (run), and its uploaded artifact contains no key bytes.
  • A run that selected no test reported e2e-gate green (run).

1. Right after #5239 merges into develop

  • Make e2e-gate a required status check: Settings → Rules → Rulesets → Develop change policy → Require status checks to pass → Add checks → e2e-gate → Save.
    • Do this only once .github/workflows/e2e.yml is on develop. Earlier, merge-queue entries would wait for a check that never reports.
    • Don't add select or run (…); they are skipped on unselected PRs.
  • Optional: decide whether Main change policy should require e2e-gate too. Promotion PRs to main also run the workflow.

2. Once e2e.yml reaches main

workflow_dispatch only works from the default branch.

  • Confirm a manual run works: gh workflow run e2e.yml --repo TalonT-Org/AutoSkillit -f tests=canary
  • Confirm that two simultaneous runs execute one after the other. This is the last unverified acceptance criterion of E2E on MiniMax: harness, selective workflow and concurrency control (infrastructure only) #5230.
    • Run the command above twice, back to back.
    • Watch gh run list --repo TalonT-Org/AutoSkillit --workflow e2e.yml. The second run's run (canary, 37) job must wait in the queue until the first finishes; it must neither run in parallel nor be cancelled.

3. Before the first recipe E2E test (#5232, then #5233 and #5234)

The canary needs none of these. #5235 lists them under #5230, but #5232 is the first ticket that uses them.

  • Populate TalonT-Org/autoskillit-e2e-sandbox (it exists but is empty) with:

    • a seconds-long test suite;
    • a GitHub Actions workflow that runs on pull requests (the implementation recipe stops when a PR has no CI checks);
    • a Taskfile.yml with install-worktree and test-check tasks;
    • a .autoskillit/config.yaml that sets none of features, quota_guard or agent_backend. As the project layer it outranks the harness's user-layer config.

    Don't commit a .claude/settings.json or .claude/settings.local.json with env provider or model keys.

  • Create a fine-grained personal access token:

    • resource owner TalonT-Org, with repository access to autoskillit-e2e-sandbox only;
    • permissions: Contents read/write, Pull requests read/write, Issues read/write, Actions read, Commit statuses read.

    Save it as a repository secret on AutoSkillit: gh secret set E2E_SANDBOX_TOKEN --repo TalonT-Org/AutoSkillit

  • As [Tracking] Docker image and end-to-end tests on MiniMax #5235 lists: seed a small feature issue in the sandbox before E2E test: implementation recipe on a seeded sandbox issue #5233, and a reproducible bug issue before E2E test: remediation recipe on a seeded sandbox bug #5234.

Reference: scripts/e2e/README.md (maintainer setup, sandbox requirements, adding a test).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-human-reviewRequires human review before implementation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions