Skip to content

Release playbook

Travis Carden edited this page Jun 20, 2024 · 15 revisions
  1. Before committing to a release...
    1. Check the issue queue for critical issues.
    2. Search the codebase for important @todo comments.
  2. Make sure your local branches are current.
  3. Run automated tests with composer all.
  4. Make sure any needed documentation changes have been made--in the codebase and in the Wiki.
  5. Create a release tag. (See Branching & versioning.)
    1. Choose a semantic version number (x.y.z).
    2. Start the release with git flow release start x.y.z.
    3. If the release is a new major version (e.g., v1.0.0), update the branch alias at composer.json:extra.branch-alias.dev-develop accordingly.
    4. Finish the release with git flow release finish x.y.z. Accept the default commit messages, e.g., Merge branch 'release/1.0.0' and v1.0.0.
    5. Push the release tag to GitHub along with the updated develop and main branches.
    6. Wait for CI tests to pass.
  6. Create a GitHub release using the "Generate release notes" button to set the title and description.
  7. Update the package at https://packagist.org/packages/php-tuf/composer-stager to publish the new release. Delete any extraneous versions it may create, e.g., dev-feature/example.