-
Notifications
You must be signed in to change notification settings - Fork 891
Releasing a new version of Phinx
Mark Sch edited this page Apr 11, 2020
·
13 revisions
This page outlines the process involved in releasing a new version of Phinx.
We roughly follow semantic versioning but generally, we perform a release for a group of commits. The PATCH version is incremented the most often, followed by MINOR.
The first MAJOR release will be 1.0.0 when the Phinx API is finalized.
The second MAJOR release 2.0.0 is also planned, but has no timeline as of now.
Releases can only be performed by project admins.
- Checkout the
master
branch - Update the release version in
docs/conf.py
. -
Add to the.CHANGELOG.md
- Here is a sample commit of the steps above: https://github.com/cakephp/phinx/commit/6fd56a6e5d93f37fe40e33d90461dc5a9d9e60a1
- Commit these changes to the current development branch and push to Github.
- Create a tag of the development branch:
git tag -a 0.4.1 -m 'Tagging release 0.4.1'
- Ensure Travis CI & App Veyor are passing for the development branch.
- Push the tag to Github
git push origin 0.4.1
. - Go to https://github.com/cakephp/phinx/releases/new to draft a new release.
- Choose the tag just released.
- The release name should be the same as the tag. E.g:
0.7.0
(nov
prefix!). - The release notes are copied from
CHANGELOG.md
. - Publish release.
- The documentation is automatically generated from the
master
branch. - Checkout the
gh-pages
branch and update the Phinx version. There are two places inindex.html
to update. The version showed on the homepage and the Google Analytics tracking snippet. See an example commit: https://github.com/cakephp/phinx/commit/3b50a762a71dd63caa47025e771bb7a3baa8f042 - Push the
gh-pages
branch to Github. - Ensure Packagist has automatically picked up the new tag: https://packagist.org/packages/robmorgan/phinx