Release php-v8¶
GitHub release¶
Make sure current state is ready for release:
- All relevant PR merged and issues closed.
- Build passed.
Prepare release notes by creating release draft on github.
Update
PHP_V8_VERSIONto have desired version and setPHP_V8_REVISIONtoreleaseinphp_v8.h.Run
./scripts/refresh-package-xml.php -fto updatepackage.xmlwith properphp-v8version and update directories and files tree.Update
package.xml<notes>with release notes. Keep eye on special characters to properly escape them, e.g.>should be written as>instead.Commit all changes with
Prepare X.Y.Z releasecommit message.Push this commit and make sure it will pass the build.
Tag it with
vX.Y.Ztag and push. Create github release from a draft prepared in step above.Close relevant milestone, if any.
- Run
./scripts/subsplit.shto updatephp-v8-stubswhich are available in a separate read-only repository to match packagist and composer expectations.
- Run
PECL release¶
- Run
pecl packagein your build machine (it’s normally vagrant box used forphp-v8development). It should createv8-X.Y.Z.tgzfile. - Log in to PECL and upload file from previous step at https://pecl.php.net/release-upload.php. Verify that release info is accurate and confirm release.
Docker image release¶
- Go into pinepain/dockerfiles
php-v8folder. - Make sure you have valid stable and latest versions in
Makefile. - To avoid caching, run
make clean-stableto remove any image for the current stable version andmake clean-latestto do the same for the current latest version. - Run
make stableto build and upload current stable version andmake latestto build and upload the latest version.
After all¶
- Update js-sandbox dependencies, if required, to use latest
php-v8and other dependencies, if any. - Update
PHP_V8_VERSIONto the next version and setPHP_V8_REVISIONtodevinphp_v8.h. - Commit changes with
Back to dev [skip ci]message and push them to master.