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.
Ubuntu PPA release¶
- Copy targeted
libv8-X.Ybuild tophpppa without rebuild, just copy. - Make sure you have proper PHP and
php-v8PPA dependencies set in https://launchpad.net/~pinepain/+archive/ubuntu/php-v8/+edit-dependencies - Make sure you have proper
php-v8version set inpackaging/DockerfileunderV8constant. - In
packaging/php-v8/Makefileset properVERSION=X.Y.Z - Make sure you have valid
libv8dependency inpackaging/php-v8/debian/controlfile. - Commit changes with
build php-v8commit message and wait until libv8 PPA build done. - Copy
php-v8packages topinepain/phpPPA, do not rebuild, just copy. - After they get copied, feels free to remove old
libv8packages frompinepain/phpppa.
macOS Homebrew release¶
- Update
php7*-v8formula one by one to have properdepends_on 'v8@X.Y'andv8_prefix=Formula['v8@X.Y'].opt_prefixvalues. - If you want to rebuild existent version, add/increment
revisionin formula body. - If version has already been published to bintray and you absolutely sure it needs to be re-built without revision. bump, you will need to delete such version from bintray first.
TODO: docker release
After all¶
- Update js-sandbox
.travis.ymland.scrutinizer.ymlto refer to newphp-v8version and to relevantlibv8PPA and packages. - 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.