Skip to content

[codex] optimize release action chain#4604

Open
xuefei1313 wants to merge 1 commit into
developfrom
codex/optimize-release-actions
Open

[codex] optimize release action chain#4604
xuefei1313 wants to merge 1 commit into
developfrom
codex/optimize-release-actions

Conversation

@xuefei1313

Copy link
Copy Markdown
Contributor

Summary

  • Stabilize release branch triggers by using broad GitHub glob filters plus explicit semver branch validation.
  • Wire develop sync dispatch into post-release and add workflow_dispatch recovery paths.
  • Add npm publish idempotency checks across all rush shouldPublish packages and a local workflow invariant verifier.

Why

The release chain could fail to trigger because branch filters mixed regex syntax with GitHub glob syntax, and post-release was not consuming the develop-synced repository_dispatch event.

Validation

  • node common/scripts/verify-release-workflows.js
  • node --check common/scripts/verify-release-workflows.js
  • js-yaml parse of all .github/workflows/*.yml
  • git diff --check
  • commit hook: rush lint-staged, rush commitlint
  • pre-push hook: rush test --only tag:package

Notes

  • Live GitHub Actions, npm publish, tag creation, and GitHub Release creation were not executed locally.
  • pre-push tests passed with an existing MaxListenersExceededWarning in @visactor/vchart.

Release automation used brittle branch filters and a disconnected post-release dispatch path.

This keeps the VTable-style dispatch chain and makes recovery explicit and guarded.

Constraint: GitHub branch filters use glob syntax, not semver regex
Constraint: No new dependencies; reuse js-yaml
Rejected: workflow_run orchestration | Existing flow uses repository_dispatch
Rejected: single-package npm check | rush publish --include-all can partially publish
Confidence: high
Scope-risk: moderate
Directive: Keep post-release wired to develop-synced or replace the consumer
Tested: node common/scripts/verify-release-workflows.js
Tested: node --check common/scripts/verify-release-workflows.js
Tested: js-yaml parse of all workflow yml files
Tested: git diff --check
Not-tested: Live Actions run, npm publish, tag creation, GitHub Release creation
@github-actions github-actions Bot added the chore label Jun 25, 2026
@xuefei1313 xuefei1313 marked this pull request as ready for review June 25, 2026 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant