-
Notifications
You must be signed in to change notification settings - Fork 295
PHP: Fast builds with Makefile #338
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
Comments
vs. the existing |
@dmsnell Oh we'd drown in JSON were we to use |
Faster builds sound great, it would reduce the friction of onboarding new contributors.
I remember this repo did ship with pre-built binaries before, then they were removed at some point.
In general, it's more common not to include built assets in a Git repo for various reasons, like:
Another reason for excluding them from the repo is the nature and size of the built binaries, that they're not suited for Git version control. So it may make sense to publish these assets to NPM or GitHub Releases, and source them on initial build as needed.
Since
Looking at the new proposed Going off topic, but speaking of dependencies on the local/host file system, it would be great to reduce the number of globally installed commands that the project depends on, such as
|
My only thought here @adamziel is that having a single system (if capable enough) brings a lot of value that two systems are working to emulate.
Maybe we can also start by making the Dockerfile skip rebuilding when it doesn't need to. I see no real problem introducing Since there can be issues with modification times that impact This was my idea for the VSCode plugin: request the files with the |
🤔 The upsides of make I originally had in mind were:
I just realized it's all about where are the files stored and not about the build runner at all. Migrating to Make have been tedious to say the least. So yes, perhaps it makes more sense to keep using Docker and only work with the storage part of it. |
They are still in here: https://github.com/WordPress/wordpress-playground/tree/trunk/packages/php-wasm/node/public
All good points, there's even an issue here: #58 That being said,
Yup, let's get rid of yarn. |
I’m no longer convinced that Make is the right way to proceed - pre-built libraries and a local cache will give us all the benefits without having to switch to another tool. Let’s continue the conversation in #489 |
Docker builds are slow. Adding GNU Make into the mix could make for much faster builds. We still need Docker for portability, but let's not use it as a build tool.
Every new person cloning the repo must wait for hour or hours for Docker build to complete for the first time. This consists mostly of rebuilding the libraries. However, it almost never makes sense. Pre-built binaries could be shipped in this repo, saving a ton of build time and making CI builds possible.
GNU Make would make for true graph-based builds and less daunting, faster iterations on the WebAssembly parts of the repo. For example, adding pthreads support requires updating the build process of every library. With Dockerfile, every rebuild would take ages. With Makefile, every rebuild could take seconds.
Related: #73
cc @dmsnell @eliot-akira
The text was updated successfully, but these errors were encountered: