refactor(release): use peter-evans/repository-dispatch and remove dev target#23055
refactor(release): use peter-evans/repository-dispatch and remove dev target#23055
Conversation
… target - Replace custom urllib HTTP dispatch with peter-evans/repository-dispatch action - Split dispatch job into prepare + matrix dispatch jobs (one action call per batch) - Remove dev target option; tags are now always pushed unless dry-run - Drop target field from client_payload and summary table Rationale: simplify the release pipeline by delegating HTTP dispatch to a maintained action, and remove the unused dev target path which added complexity without benefit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Keeps the pipeline safe while the new dispatch approach is validated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
This PR does not modify any files shipped with the agent. To help streamline the release process, please consider adding the |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e360b6386a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| source-repo-ref: ${{ github.event_name == 'workflow_dispatch' && inputs.source-repo-ref || github.sha }} | ||
| target: ${{ inputs.target || 'dev' }} | ||
| dry-run: ${{ inputs.dry-run || false }} | ||
| dry-run: ${{ inputs.dry-run || true }} |
There was a problem hiding this comment.
Preserve manual dry-run=false in reusable workflow input
dry-run: ${{ inputs.dry-run || true }} coerces an explicit false from workflow_dispatch back to true because || falls through on falsy values. That makes non-dry runs impossible from release-trigger.yml: even when an operator sets dry-run to false, the reusable workflow still receives true, so the matrix dispatch job never executes.
Useful? React with 👍 / 👎.
- Drop support for 'all' as a user-facing packages input; ddev owns auto-detection via `ddev release tag all` when no packages are specified - Rename _package_args → _tag_package_args to clarify its purpose - Update input descriptions to reflect auto-detect from tags at ref Rationale: the 'all' keyword was redundant with the empty/auto-detect path and leaked an internal ddev detail into the public workflow interface. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Mark dry-run defaults with TODOs so they're not forgotten - Unblock once agent-integration-wheels-release handles the new payload Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
urllibHTTP dispatch code with thepeter-evans/repository-dispatchactiondispatchjob intoprepare(tagging + batch building) anddispatch(matrix, one action call per batch of 200 packages) — preserving parallelism while staying well under GitHub's 256-job matrix limitdevtarget option; tags are now always pushed unlessdry-runis settargetfromclient_payloadand from the job summary tabledry-runtotruewhile the new approach is validatedTest plan
python -m pytest .github/workflows/scripts/tests/ -v)release-trigger.ymlviaworkflow_dispatchwithdry-run: falseon a test branch to verify the matrix dispatch job fires and sends the correctclient_payloadagent-integration-wheels-releaseis updated to handle missingtargetfield before enabling live dispatches🤖 Generated with Claude Code