Skip to content

refactor(release): use peter-evans/repository-dispatch and remove dev target#23055

Open
dkirov-dd wants to merge 4 commits intomasterfrom
dk/patch-release-pipeline
Open

refactor(release): use peter-evans/repository-dispatch and remove dev target#23055
dkirov-dd wants to merge 4 commits intomasterfrom
dk/patch-release-pipeline

Conversation

@dkirov-dd
Copy link
Copy Markdown
Contributor

Summary

  • Replaces the custom urllib HTTP dispatch code with the peter-evans/repository-dispatch action
  • Splits the single dispatch job into prepare (tagging + batch building) and dispatch (matrix, one action call per batch of 200 packages) — preserving parallelism while staying well under GitHub's 256-job matrix limit
  • Removes the dev target option; tags are now always pushed unless dry-run is set
  • Drops target from client_payload and from the job summary table
  • Defaults dry-run to true while the new approach is validated

Note: agent-integration-wheels-release currently reads target from the payload — that field will be absent and its workflow will need a corresponding update before dry-run is disabled.

Test plan

  • All 105 unit tests pass (python -m pytest .github/workflows/scripts/tests/ -v)
  • Trigger release-trigger.yml via workflow_dispatch with dry-run: false on a test branch to verify the matrix dispatch job fires and sends the correct client_payload
  • Confirm agent-integration-wheels-release is updated to handle missing target field before enabling live dispatches

🤖 Generated with Claude Code

dkirov-dd and others added 2 commits March 25, 2026 16:49
… 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>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 25, 2026

⚠️ Recommendation: Add qa/skip-qa label

This PR does not modify any files shipped with the agent.

To help streamline the release process, please consider adding the qa/skip-qa label if these changes do not require QA testing.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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 }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

dkirov-dd and others added 2 commits March 25, 2026 17:46
- 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant