davidcole1340 / ext-php-rs

Bindings for the Zend API to build PHP extensions natively in Rust.
Apache License 2.0
568 stars 59 forks source link

Distributing extension #213

Open nikeee opened 1 year ago

nikeee commented 1 year ago

Is there a go-to solution for packaging the built extension?

I'd like to offer a .deb package and I'm wondering if there is an easy way to do this.

There are some things online about creating it manually:

Extensions can also be installed via PECL. If .deb is not an option, would that be a viable thing?

ptondereau commented 1 year ago

Hello! Yes easily distributing an extension is in my mind. For the moment you had to setup a CI with matrix of all targets you want to distribute + all PHP versions for each. The same apply with packaging a .deb. We have no easy way for the moment but example is welcome!

joehoyle commented 1 year ago

If you want another example, here's my GitHub Actions workflow: https://github.com/joehoyle/php-v8js/blob/main/.github/workflows/build.yml which does x86/arm64 builds for linux and macos for PHP 8, 8.1 and 8.2

ptondereau commented 1 year ago

@joehoyle would be happy if you can provide a PR here to add this example

joehoyle commented 1 year ago

@ptondereau is that best under the Guides in the book? Perhaps getting-started/build-github-workflow or something

ptondereau commented 1 year ago

@ptondereau is that best under the Guides in the book? Perhaps getting-started/build-github-workflow or something

Could be a good start indeed!

joehoyle commented 9 months ago

@rmccue also put together https://github.com/humanmade/ext-php-rs-starter