-
-
Notifications
You must be signed in to change notification settings - Fork 242
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
Ideas about UX and performance #187
Comments
Wow it's really a good proposal! Once the binary SPC is completed and the stable version 2.0.0 is released, I believe we can create a new repository as you suggested: crazywhalecc/setup-static-php, and if you @dunglas and @stloyd are open to contribute, I will add access. I'm not very familiar with the details of Actions, it would be best if you are willing to help. But this new UX proposal also involves a lot of documentation. I could write the documentation on my tablet at any time, which is very fast to write, but it is best to list the chapters that need to be written in this part in the Docs TODO, otherwise, I tend to forget about it. |
I really like the idea of introducing action, while never done it before it can be an interesting project. While we speak, I'm testing one approach where build is done periodically to see if we can easily store generated files as cache, which in fact would be one of the first steps to have such action working well. |
Introducting the first idea for improving the speed of builds with: #188, it generates artifacts that can be downloaded locally (or in CI) & re-used. |
Keen to help on this one. Has anyone made any progress? |
@simonhamp Actually it will be a little complicated. The problem is as follows:
|
|
I have currently hosted the SPC binary of the main branch on my own server (workflow) and it should be stable, I won't change it. Additionally the release tag may not be as stable as the main branch, as it may not include an immediate fix for the download address. Another issue is that for the definition of stable, I cannot test all the combination of supported exts and libs. I can only ensure that SPC binary can run and the download address availability is high. If we really want to ensure that the compiled PHP is stable and perfect, I'm afraid the project will never have a stable version.
Anyway it would be even better if you could help writing Actions 👍 We already have the repo: https://github.com/static-php/setup-static-php |
Finally we will bring this feature to 2.3 release 🎉 #502 . And after this, we can build static PHP easier and faster. |
Currently, users are encouraged to fork this repository and to set up GitHub Actions workflows in their own forks to build the static binaries they want. This causes several issues:
Now that static-php-cli will be distributed as a standalone executable and as a PHAR (#175, #179), I think that we can dramatically improve the user experience and performance.
Instead of forking the whole project, the user could just download the standalone binary and run a single command in its own GHA workflow to build its static PHP.
The project could also provide a standalone GitHub Action (instead of a whole workflow), similar to setup PHP or setup Go that will:
API proposal:
In most cases, build steps will be skipped: up-to-date SAPIs can be built every night, uploaded as static-php-cli releases, and downloaded by the action. For advanced needs (custom extensions or combine), the build will still be done locally, but at least users will be sure that they are using an up-to-date version of static-php-cli. As an improvement for the custom extension or combined use case, it should also be possible to upload the content of
buildroot/
to GitHub releases and let the action download and reuse up-to-date versions of.a
files when doing a custom build instead of rebuilding everything.cc @stloyd
The text was updated successfully, but these errors were encountered: