-
Notifications
You must be signed in to change notification settings - Fork 163
How to release Cypht
This page is to document the steps to generate a Cypht release.
For Cypht 2.x and later, please see: https://github.com/cypht-org/cypht/pull/1182#issuecomment-2304816283
Scripts to evaluate:
- https://github.com/cypht-org/cypht/blob/master/scripts/code_check.sh
- https://github.com/cypht-org/cypht/blob/master/scripts/commit_check.sh
Steps for 1.4.x:
- Release a version of https://github.com/cypht-org/php-sieve-manager and use that in Cypht (done: https://github.com/cypht-org/php-sieve-manager/releases/tag/v1.0.0)
- Run all tests and make sure all is well (done)
- Create branch 1.4.x and make necessary commits in this new branch (done)
- "stability": "dev", in composer.json even though it doesn't exist in https://getcomposer.org/doc/04-schema.md - changed minimum-stability to stable.
- Release 1.4.0: https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository (done: https://github.com/cypht-org/cypht/releases/tag/v1.4.0)
- Update documentation to reflect that we now have 1.4.x and master. Ex.: https://github.com/cypht-org/cypht/blob/master/INSTALL (Note: this is more developer documentation than end-user one. We should have a getting started page for developers where we explain where to commit or base their MRs on.)
Important URLs for Cypht 1.4.0:
- https://github.com/cypht-org/cypht/releases/tag/v1.4.0
- https://packagist.org/packages/jason-munro/cypht#v1.4.0
- https://github.com/cypht-org/cypht/tree/v1.4.0
Should we continue to use?
- https://github.com/cypht-org/cypht/blob/master/scripts/build_changelog.sh
- https://github.com/cypht-org/cypht/blob/master/scripts/release_changes.sh
Until Docker tagging is automated, this is now you manually push a new version. In this example I am releasing v2.1.0
Make sure your account has permissions in the dockerhub cypht org.
Pull down the new tag in git
git pull git checkout v2.1.0
Build and push
make docker-push tag=2.1.0
Check that the tag was pushed: https://hub.docker.com/r/cypht/cypht/tags
Update the example production compose file:
git checkout master
Update docker/docker-compose.yml to say:
image: cypht/cypht:2.1.0
Create a PR for the change.
Smoke test it:
cd docker docker compose up
visit http://localhost
This is for the readme shown on the overview page here: https://hub.docker.com/r/cypht/cypht
Note: The readme is not tag specific. There is one readme for the whole dockerhub cypht/cypht repo. This is different then git where you can have a different readme for each branch. Plan accordingly.
Make the changes needed to docker/DOCKERHUB-README.md
Commit the changes in a PR.
Release the change:
make dockerhub-push-readme
if you need to summarize the key contributions and changes made between the releases in the Cypht repository, please visit: https://github.com/cypht-org/cypht/wiki/Contribution-Summary:-Changes-Between-versions