Skip to content

WORKFLOW.md's #1523 Rewrites of D1.2 and the Build Layer Miss the Validate and Docker Hooks #1540

Closed

Description

@ptr727

Defect

The final local diff review of the change settling #1523 found two statements that change wrote into WORKFLOW.md section 3 and D1.2 contradicted by the tree. They were left for this issue on the maintainer's call to stop editing after a final round, so they ship with that change and want fixing next.

  • D1.2's "A repo whose tests take another shape is one whose validation it cannot express, since it runs none of them." The validator's own validate job runs the caller's .github/actions/validate/action.yml hook where one exists (validate-task.yml, "Run repository validate hook step"), and that hook is where a repo runs checks outside the fixed dotnet test and pytest shapes, as the hub itself does for its unittest suite under scripts/tests. Read literally, the sentence sends a repo with tests in another shape to replace the shared validator and write its own when a hook would do.
  • Section 3's Build bullet gives Docker no hook. "A repo calling the hub-hosted task shapes the .NET, NuGet, and PyPI leaves through a hook at .github/actions/<job>/action.yml" reads as the whole set, while the Docker leaf reached through the release task's build-docker job runs the caller's .github/actions/docker-prepare/action.yml in place of docker-prepare-default, and a docker-build-base hook for a shared base layer (build-docker-task.yml). A reader concludes a calling Docker repo cannot shape its leaf. The Release Skill's Override-Seam Section Carries Statements the Tree Contradicts, Found Settling #1523 #1539 holds the matching gap in the skill reference's override-seam section.

Activity

  1. ptr727 commented on Sep 11, 2026

    @ptr727
    OwnerAuthor

    One more on text the #1523 change placed, raised by Copilot on its pull request and left for this issue on the same call: the no-build stub comment catalog/snippets/workflows/test-pull-request.yml now carries, "A C# or Python repo adds secrets: with CODECOV_TOKEN mapped by name here, or its pull request coverage reaches Codecov with no token (D1.6).", copied from the release-with-smoke stub in docs/reusable-workflows.md ("Adopting the Gates"). "Reaches Codecov with no token" reads as the upload succeeding tokenless, while the validator runs the upload best-effort with the token optional (fail_ci_if_error: false) and D1.6 says a run without it "would otherwise skip silently". Both surfaces want the same wording, naming the silent skip.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions