Skip to content

Releasing a new version of Phinx

Richard Quadling edited this page Jul 18, 2016 · 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.

Steps to Release a New Version

  1. Update the release version in docs/conf.py.
  2. Update the application version in src/Phinx/Console/PhinxApplication.php.
  3. Add to the CHANGELOG.md.
  4. Here is a sample commit of the steps above: https://github.com/robmorgan/phinx/commit/faf042dfe9c700b233c6c3da6689976f8c9a81b2
  5. Commit these changes to the current development branch and push to Github.
  6. Create a tag of the development branch: git tag -a v0.4.1 -m 'Tagging release 0.4.1'
  7. Ensure Travis CI & App Veyor are passing for the development branch.
  8. Push the tag to Github git push origin v0.4.1.
  9. Go to https://github.com/robmorgan/phinx/releases/new to draft a new release.
  10. Choose the tag just released.
  11. Publish release.
  12. Checkout the master and merge in the development branch. This is important as the documentation is generated from the master branch.
  13. Checkout the gh-pages branch and update the Phinx version. There are two places in index.html to update. The version showed on the homepage and the Google Analytics tracking snippet. See an example commit: https://github.com/robmorgan/phinx/commit/3b50a762a71dd63caa47025e771bb7a3baa8f042
  14. Push master and gh-pages to Github.
  15. Ensure Packagist has automatically picked up the new tag: https://packagist.org/packages/robmorgan/phinx
Clone this wiki locally