Skip to content

Use pre-build Swoole/OpenSwoole extensions #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

weierophinney
Copy link
Member

@weierophinney weierophinney commented Dec 1, 2021

Instead of building Swoole each time we change the container, we can pre-build it once and pull it in, similar to how we consume the sqlsrv extension. I've created a project, laminas-ci-swoole-builder that builds both Swoole and OpenSwoole using containers mimicing the Laminas-CI setup. The artifacts are then packaged and uploaded to an S3 bucket, allowing us to pull them in here. This can eventually be managed directly by Laminas, but in the meantime, should speed up our container builds, and give us quicker turnaround on new Swoole and OpenSwoole versions.

The tarball contains /etc and /usr subtrees that include:

  • mods-available INI files for each extension for each PHP version
  • headers for each extension version
  • the built binary extension for each extension version

This patch also:

  • Updates the Swoole version to 4.8.2, for each of PHP 7.3, 7.4, 8.0, and 8.1.
  • Adds OpenSwoole extensions version 4.8.0 for each of PHP 7.3, 7.4, 8.0, and 8.1.

@weierophinney weierophinney added this to the 1.14.0 milestone Dec 1, 2021
Instead of building Swoole each time we change the container, we can pre-build it once and pull it in, similar to how we consume the sqlsrv extension.
I've created a project, [laminas-ci-swoole-builder](https://github.com/weierophinney/laminas-ci-swoole-builder) that builds both Swoole and OpenSwoole using containers mimicing the Laminas-CI setup.
The artifacts are then packaged and uploaded to an S3 bucket, allowing us to pull them in here.
This can eventually be managed directly by Laminas, but in the meantime, should speed up our container builds, and give us quicker turnaround on new Swoole and OpenSwoole versions.

Signed-off-by: Matthew Weier O'Phinney <[email protected]>
@weierophinney weierophinney force-pushed the feature/prebuilt-swoole branch from 1f3da4f to 8f95621 Compare December 1, 2021 15:22
@weierophinney
Copy link
Member Author

@weierophinney
Copy link
Member Author

And build times drop from 12:43 to 4:42. 🎉

@weierophinney weierophinney merged commit 645680c into laminas:1.14.x Dec 1, 2021
@weierophinney weierophinney deleted the feature/prebuilt-swoole branch December 1, 2021 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants