pecl:releasing-a-pecl-package
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
pecl:releasing-a-pecl-package [2019/10/31 11:19] – Created a quick bullet guide to releasing a PECL package for first time asgrim | pecl:releasing-a-pecl-package [2019/10/31 12:35] (current) – Win builds may take some hours cmb | ||
---|---|---|---|
Line 3: | Line 3: | ||
This set of tips is intended for people who would like to submit a PHP module or Zend extension that they have written into the PECL repository (for example, so end users can use '' | This set of tips is intended for people who would like to submit a PHP module or Zend extension that they have written into the PECL repository (for example, so end users can use '' | ||
- | * Write your package first, with a suite of '' | + | * Write your package first, with a suite of '' |
* Pick a name for your package | * Pick a name for your package | ||
- | * Ensure it is licensed correctly (PHP License, MIT, BSD, Apache etc. are all acceptable) | + | * Ensure it is licensed correctly (PHP License, MIT, BSD, Apache etc. are all acceptable, but GPL or LGPL are not) |
* Join the pecl-dev mailing list - https:// | * Join the pecl-dev mailing list - https:// | ||
- | * Apply for an account - https:// | + | * Apply for a PECL account |
* Ideally reach out to #php.pecl on EFnet IRC first, or email the pecl-dev list - e.g. ("hi folks, I'd like to release X on PECL..." | * Ideally reach out to #php.pecl on EFnet IRC first, or email the pecl-dev list - e.g. ("hi folks, I'd like to release X on PECL..." | ||
* Introduce yourself, explain what your package does, why it does it, who will support it etc. | * Introduce yourself, explain what your package does, why it does it, who will support it etc. | ||
* "Need a php.net account?" | * "Need a php.net account?" | ||
- | * Once account request sent, follow up in #php.pecl on EFnet, so your account can be approved - there are a lot of " | + | * Once account request sent, follow up in #php.pecl on EFnet, so your account can be approved - there are a lot of " |
- | * Use strict | + | * Use strict |
* Version constant in '' | * Version constant in '' | ||
* Create a '' | * Create a '' | ||
+ | * Make sure that you update the maintainers section with your user, and that your user is only marked as **lead** (and not listed twice). | ||
* Ensure you have tested at least against ZTS, NTS, for each PHP version you will support (in automated CI pipeline ideally!) | * Ensure you have tested at least against ZTS, NTS, for each PHP version you will support (in automated CI pipeline ideally!) | ||
Line 22: | Line 23: | ||
* In '' | * In '' | ||
* Copy the current release into a new '' | * Copy the current release into a new '' | ||
- | * Update the current release section | + | * Update the current release section: date, time, version, stability |
* '' | * '' | ||
- | * Commit update to '' | ||
* Run your tests (e.g. in CI) | * Run your tests (e.g. in CI) | ||
- | * Recommended to create a tag in your VCS (e.g. '' | ||
* Use '' | * Use '' | ||
+ | * Commit update to '' | ||
+ | * Recommended to create a tag in your VCS (e.g. '' | ||
* Login and upload the '' | * Login and upload the '' | ||
+ | |||
+ | For an example of a more comprehensive release process, it might be worth checking out https:// | ||
+ | |||
+ | ==== Windows binary packages ==== | ||
+ | |||
+ | Windows binary packages (including the DLLs) are supposed to be built and linked on the package page automatically. If that didn't happen several hours after the release, contact the PHP for Windows team via #winphp-dev on freenode IRC or email the pecl-dev list. |
pecl/releasing-a-pecl-package.1572520792.txt.gz · Last modified: 2019/10/31 11:19 by asgrim