- 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/Version.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 - Once the process is completed, close the milestone.