- Make sure that all the PR in the current milestone are merged. Move remaining PRs that will not make into the release to the next milestone.
- Make sure that there is a 1-to-1 correlation between commits and PRs. This is easy thanks to the squash merge strategy that we adopted.
- Create the version bump commit:
- Make sure that the changelog is up to date, if not fix it.
- Make sure bottom links are up to date.
- Update the version number in
src/DDTrace/Tracer.php
. - Update the version number in
src/ext/version.h
. - Update
package.xml
(versions, date, notes) and run$ pear package-validate package.xml
. - Create the PR and ask for code review.
- Merge it to master
- Create the release named after the release number, e.g.
0.9.0
, (initially as a draft) and copy there the changelog for the current release. Most of the times you will have two sections:Added
andFixed
. - Head to CircleCi workflow's page for the master branch and from the job
build_packages --> packages
downloads the artifactsdatadog-php-tracer-<VERSION>-beta.x86_64.tar.gz
,datadog-php-tracer-<VERSION>_beta-1.x86_64.rpm
,datadog-php-tracer_<VERSION>-beta_amd64.deb
,datadog-php-tracer_<VERSION>-beta_noarch.apk
and upload them to the release. Make sure the version number matches. - Check the release page and share it with the team to make sure big mistakes are avoided 😄.
- Publish it!
- Run
pear package
& upload release to PECL: https://pecl.php.net/release-upload.php - Make sure that packagist is up to date with the version we just
released.
There is a web-hook configured for it so the new version should show up in seconds.
If it does not you can login and manually trigger an update. Only staff and admins have access to credentials for
account
DataDog
. - Once the process is completed, close the milestone.