Skip to content

🤖 ci: migrate to PR-based release workflow using create-pull-request#19

Merged
jonasmzsouza merged 9 commits intomainfrom
ci/workflow-trigger-release
Jan 12, 2026
Merged

🤖 ci: migrate to PR-based release workflow using create-pull-request#19
jonasmzsouza merged 9 commits intomainfrom
ci/workflow-trigger-release

Conversation

@jonasmzsouza
Copy link
Owner

🛠️ Summary of Adjustments

This PR migrates the release pipeline to a PR-based workflow, replacing direct pushes to main with a safer and more maintainable approach using peter-evans/create-pull-request and release-suite.

The new setup is fully compatible with protected branches and avoids CI loops, manual pushes, and brittle scripting.


✨ What’s Changed

CI / Release Pipeline

  • Replaced direct-release workflow with a PR-driven release flow
  • Renamed release.ymlcreate-release-pr.yml
  • Added safeguards to prevent infinite workflow loops
  • Release PRs are created on release/x.y.z branches

Tooling

  • Removed semantic-release and its configuration
  • Removed unused rotate-token.yml
  • Added release-suite for:
    • Version calculation
    • Changelog generation
  • Updated eslint.config.js file with the correct Flat Config configuration

Build & Artifacts

  • Automatically runs build.mjs
  • Detects and stages /dist when present
  • Updates:
    • package.json
    • package-lock.json
    • CHANGELOG.md

🧠 Why This Approach

Using peter-evans/create-pull-request provides:

  • Safe automation for protected branches
  • Idempotent workflow execution
  • Automatic branch cleanup
  • No manual git push or curl calls
  • Reduced CI complexity and long-term maintenance cost

This is the industry-standard approach for release-via-PR pipelines.


✅ Result

After this PR:

  • Releases are fully automated via Pull Requests
  • main remains protected at all times
  • Versioning and changelog updates are consistent
  • Build artifacts are always included
  • CI is safer, cleaner, and easier to maintain

🔗 Related Issue

Closes #18

Migration Notes

This change is internal to the CI pipeline and does not affect runtime behavior or public APIs of the package.

@jonasmzsouza jonasmzsouza self-assigned this Jan 12, 2026
@jonasmzsouza jonasmzsouza merged commit a0f15b2 into main Jan 12, 2026
1 check passed
@jonasmzsouza jonasmzsouza deleted the ci/workflow-trigger-release branch January 12, 2026 05:01
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.

🤖 ci: migrate release workflow to PR-based flow using create-pull-request

1 participant