Smoke Copilot activation fails when repository checkout removes gh-aw setup action before cleanup

Cerrado
#15,858 0 comentarios 1 reacción 2 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@lpcox ya está trabajando en esto.

Desde el 1/11/2026.

  • #15859 de @copilot-swe-agent — cerrado sin fusionar

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Problem

The Smoke Copilot workflow fails during activation's post-job cleanup because a later repository checkout deletes the local gh-aw setup action. The agent never starts, so the smoke test does not exercise Copilot or the MCP gateway.

Observed failure

Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/gh-aw-mcpg/gh-aw-mcpg/actions/setup'. Did you forget to run actions/checkout before running your local action?

All regular activation steps succeeded, including prompt preparation and artifact uploads. The cleanup failure marked activation as failed, and the agent, conclusion, and safe_outputs jobs were skipped.

Root cause

The generated workflow uses the same workspace directory for two different repositories:

  1. Checkout actions folder checks out github/gh-aw into the workspace root, with a sparse checkout of actions.

  2. Setup Scripts invokes uses: ./actions/setup. Runtime scripts are copied to ${{ runner.temp }}/gh-aw/actions, but the local action definition remains in the workspace.

  3. Checkout .github and .agents folders checks out github/gh-aw-mcpg into that same workspace root. The run log explicitly reports:

    2026-11-01T21:13:09.7718579Z Deleting the contents of '/home/runner/work/gh-aw-mcpg/gh-aw-mcpg'
    
  4. At job teardown, GitHub Actions attempts to load the local setup action for its post step, but actions/setup/action.yml is gone.

The second checkout includes actions/setup in its sparse-checkout list, but that selects paths from github/gh-aw-mcpg; it cannot preserve files from the previous github/gh-aw checkout. Copying runtime scripts to the runner temp directory likewise does not preserve the local action metadata that the runner needs for cleanup.

Proposed fix

Fix the gh-aw workflow generator so the setup action checkout survives every later checkout until all post-job hooks finish. Do not hand-edit this generated lock file as the permanent fix.

Prefer an isolated layout: check out github/gh-aw into a dedicated workspace-relative directory, update local setup-action references accordingly, and ensure subsequent target-repository checkouts cannot delete that directory. This requires coordinating both checkout locations; merely adding path: to the first checkout while continuing to replace the workspace root is insufficient. Update any script paths that depend on the layout.

An alternative worth evaluating is invoking the setup action directly through a pinned github/gh-aw/actions/setup@<revision> reference, which lets the runner manage its action directory separately from the target checkout. Confirm compatibility with setup's repository-relative dependencies before choosing this approach.

Once the generator fix is available, regenerate the affected workflows in this repository using the supported compiler path. Inspect other generated workflows for the same checkout/setup pattern; recurrence beyond this run has not yet been established.

Acceptance criteria

  • The setup action definition and any post-step dependencies remain available through job teardown after the target repository checkout.
  • Add a generator regression test covering setup from github/gh-aw followed by a checkout of a different repository.
  • Verify in a hosted Actions run that Post Setup Scripts succeeds and the Smoke Copilot agent job starts when activation otherwise succeeds.
  • Regenerated locks preserve the intended repository checkout, prompt preparation, and setup/cleanup behavior.

Scope of evidence

This diagnosis is based on the failed run's job statuses and logs and the workflow configuration at the failed revision. No patch or rerun has been performed.

Lenguaje dominante
Go
Estrellas
184
Forks
58
Merge medio
7 h 44 min
PR fusionados (30 d)
186

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de github/gh-aw-mcpg

Todos los issues de github/gh-aw-mcpg

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.