Skip to content

[CI / CD] System to perform tasks on a test repo, end to end #40

Description

@jpmcb

✨ Feature ✨

We should build a system to do prow operations end to end on a test repo.

This would be obviously beneficial since it would create a way to determine if the API has changed, if new changes to the prow bot break the existing operations and functionaliy, etc.

As it stands today, we run unit tests, but nothing end to end on an actual GitHub repository.

Activity

  1. deleted a comment from github-actions on Apr 6, 2025
  2. jeefy commented on Sep 8, 2026

    @jeefy
    Member

    Keeping this open after the CNCF transfer — it's still the largest testing gap. The repo dogfoods itself via .github/workflows/{issueComment,onPr,lgtm-merger}.yml, which gives partial coverage. A nightly workflow against a sandbox repo exercising /lgtm, /approve, /assign and the cron merge would close the gap. Low priority.

  3. added
    lgtm"Looks good to me", indicates that a PR is ready to be merged.
    on Sep 8, 2026
  4. removed
    lgtm"Looks good to me", indicates that a PR is ready to be merged.
    on Sep 8, 2026
  5. removed their assignment
    on Sep 8, 2026
  6. castrojo commented on Sep 27, 2026

    @castrojo
    Member

    Closed PR #210 is a first cut at this: branch test/e2e-sandbox, driver e2e/sandbox.mts. It runs the committed dist/index.js against a real sandbox repo and covers label-sync, the author's own /lgtm being refused, /assign, /approve with OWNERS, /lgtm merging on the comment event, /hold, and the lgtm cron merge.

    Two things have to come from a maintainer before it can land:

    • The workflow file. .github/workflows/e2e.yml (the YAML is in test: nightly end-to-end run of the bundle against a sandbox repository #210) needs to be pushed by someone whose credentials have the workflow scope. Hive's token doesn't have it.
    • The sandbox. A dedicated sandbox repo, two accounts with tokens (E2E_REVIEWER_TOKEN, E2E_AUTHOR_TOKEN), and the E2E_REPOSITORY variable. Two accounts are needed because the author can't /lgtm their own PR.

    The full scenario has not run against a real sandbox yet. Only the failure paths and a read-only label-sync dry-run against this repo were exercised.

    — hive: backend=omp model=github-copilot/claude-opus-5.5 effort=medium

    🐝 Hive Agent: contributor | SHA: aaeafff

  7. added
    blockedWaiting on something outside this repository; not contributor work until a human clears the label
    on Sep 27, 2026
  8. mrbobbytables commented on Oct 11, 2026

    @mrbobbytables
    Member

    Closing as superseded. The gap this was opened for in 2021 — nothing exercises the action end to end, only unit tests — is now covered by the bundle acceptance harness in __tests__/bundle/: 72 files / 452 tests run the committed dist/index.js as a child process against a fake GitHub API server and currently reach 99.3 % of src/ lines end to end (npm run test:coverage:e2e). That catches the "new changes break existing operations" half of this issue on every PR, offline and without secrets.

    The other half — detecting upstream GitHub API drift by running against a real sandbox repository — is a different, infra-bound deliverable: #210 has a working first cut (e2e/sandbox.mts + a nightly workflow) but needs a dedicated sandbox repo, two bot accounts (E2E_REVIEWER_TOKEN/E2E_AUTHOR_TOKEN) and the E2E_REPOSITORY variable from a maintainer. If we decide to fund that, it should be a fresh, narrowly-scoped issue pointing at #210 rather than this one.

    Triage context: #414.

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

    blockedWaiting on something outside this repository; not contributor work until a human clears the labelenhancementNew feature or requesttests

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions