You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simon Frings edited this page Nov 13, 2023
·
15 revisions
This page describes how releases of ReactPHP's individual components are handled.
As such, this information mostly applies to ReactPHP's component maintainers instead of their users (consumers).
We're putting this information out here in order to maintain a transparent process and achieve consistent results.
Components
ReactPHP used to consist of a core repository containing all evented core components.
These components were also exported via a subtree split script into individual read-only repositories.
This approach worked out good at the start but soon after turned out to be hard to maintain.
Nowadays, each component lives in its own, individual repository.
This also means each components has its own code base, maintainers, PRs, issues, tags and ultimately release cycle.
Release checklist
This applies when tagging a new release.
make sure milestone on GitHub has all issues closed
(otherwise delay release or move issues to other milestone as appropriate)
close milestone on GitHub
make sure CHANGELOG.md is complete
each item should have ticket number for reference and author for attribution noted
After sending out a tweet, the reactphp-bot will automatically create a new post in the ReactPHP Gitter channel containing the tweet information
The release process currently involves a lot of manual steps, which can be quite time consuming and thus leaves room for improvements. There are already plans to use more automation in the future, any input is welcome.
Component checklist
This applies when creating a new component.
Create GitHub repository in the reactphp organization (create repository "reactphp/foo")
Create new team with the same name as the component (create new team named "foo")
Assign push access for team to Github repository (team "foo" can push to "reactphp/foo")
Add individual maintainers to team (add user "bar" to team "foo")