Skip to content

PR Documentation Check fails to create docs PRs for release branches #19054

Description

Is there an existing issue for this?

  • I have searched the existing issues

The generated reports #18993 and #19023 capture individual failures, but not the shared root cause or repository-level fix.

Describe the bug

PR Documentation Check can author and commit the required documentation in microsoft/aspire.dev, but then fails to create the draft docs PR when the effective target is a release/* branch.

The affected runs use gh-aw v0.79.8. The agent correctly calls create_pull_request with an allowlisted base such as release/13.5, but gh-aw patch generation ignores that per-call base and instead uses the workflow's static safe-outputs.create-pull-request.base-branch value, currently main.

Because Aspire checks out the release/13.5 tip at depth 1, git merge-base origin/main <agent-commit> cannot traverse from the shallow release tip to a common ancestor. Patch generation returns ERR_SYSTEM, so the prepared documentation never reaches a PR. Simply changing to full history is unsafe: once the merge-base becomes reachable, a main-based patch could include the entire main-to-release divergence rather than only the agent's documentation commit.

Observed examples include:

Expected Behavior

Patch generation should use the same effective microsoft/aspire.dev branch selected by the workflow's target resolver and passed by the agent. A depth-1 release checkout should then be sufficient because its tip is the correct patch base, and the workflow should create a draft docs PR targeting that branch.

Steps To Reproduce

  1. Merge or manually dispatch PR Documentation Check for a source PR whose effective docs target resolves to release/13.5.
  2. Let the agent author and commit documentation in the depth-1 microsoft/aspire.dev checkout.
  3. Observe the agent call create_pull_request with base: "release/13.5".
  4. Observe patch generation use configured main instead and fail while computing the merge-base.

The repository fix is to expose the resolver's effective branch as a step output and use that output for agent-time create-pull-request.base-branch, retaining main as the separate safe-output job fallback. All gh-aw workflow sources should be recompiled together whenever the compiler is run or upgraded.

Exceptions (if any)

Pinned SHA ... failed to generate patch: ERR_SYSTEM: Git command failed with status 1

Aspire doctor output

N/A — this is a GitHub Actions/gh-aw workflow failure.

Anything else?

The upstream dynamic-base defect is already tracked by github/gh-aw#41265 and remains open. The v0.85.4 tag still chooses patch generation's base from the static prConfig.base_branch instead of the agent entry's per-call base.

The separate repository re-shallowing defect github/gh-aw#50240 was fixed by github/gh-aw#50378 in prerelease v0.85.0+, but that fix does not make patch generation honor the per-call base. Therefore, upgrading alone does not resolve this issue.

Compiler update

gh-aw v0.85.4 became the latest stable release on August 6. It contains the separate re-shallowing fix from github/gh-aw#50378 plus security hardening, so the repository fix will upgrade and recompile all eight gh-aw workflows together. The dynamic-base defect remains, so the resolver-output workaround is still required; upgrading without that workaround does not fix docs PR creation.

Impact inventory and recovery tracking

A repository-wide scan of aspire-repo-bot[bot] comments carrying pr-docs-check:notify-source-pr, supplemented by generated gh-aw failure issues, found 35 deduplicated failures after the previous checkout-placement fix #18320 merged. Every affected source PR is merged with milestone 13.5. All 35 authored documentation and then failed during create_pull_request patch generation against the shallow/grafted release/13.5 checkout.

Current recovery state: 19 recovered and 16 pending. The repository, safe-output permission, and cached Copilot CLI staging fixes #19055, #19062, and #19109 are merged. A checked item means the resulting Aspire docs PR is merged or the run conclusively required no docs. Remaining items require a fresh workflow_dispatch from current main.

Seven older release/13.4 failures have now been audited:

  • #17177 — superseded; the requested capture-profile documentation covered hidden/internal functionality, and the related replacement aspire.dev#1357 was intentionally closed after maintainers agreed it should not be documented.
  • #17235 — still actionable; current aspire update docs do not cover staging refusal on daily/local/PR builds or the overrideStagingFeed escape hatch.
  • #17361 — recovered by merged aspire.dev#1127, which added the parser-backed AppHost/resource detection release-note coverage.
  • #17387 — still actionable; current local-provisioning docs do not cover ITokenCredentialProvider or accessing Aspire's provisioning credential.
  • #17447 — still actionable; current certificate-trust docs do not cover the non-interactive Linux partial-trust success behavior.
  • #16686 — still actionable; current aspire run/aspire start docs do not cover ASPIRE_CLI_START_TIMEOUT.
  • #17094 — still actionable; current eventing docs do not state that subscription event types must be concrete or document the interface/abstract-type ArgumentException.

The five actionable legacy items will be recovered sequentially after the release/13.5 queue. Because release/13.4 no longer exists in microsoft/aspire.dev, the target resolver will use the latest available release branch.

Closure criteria

  • Merge implementation PR #19055 with the full v0.85.4 workflow recompilation.
  • Freshly dispatch every unchecked release/13.5 source PR above.
  • Link each generated Aspire docs PR (or a successful run that determines no update remains necessary).
  • Merge or intentionally close every follow-up with the reason recorded here.
  • Triage the seven legacy release/13.4 failures as recovered, superseded, or still actionable.
  • Recover or intentionally resolve the five actionable legacy failures.
  • Close generated symptom issues [aw] PR Documentation Check reported incomplete result #18993 and [aw] PR Documentation Check reported incomplete result #19023 after their corresponding documentation outcomes are recorded.

Activity

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

Metadata

Metadata

Labels

needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area ownerstriage:needs-humanAspire triage bot wants a human to take a second look

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions