-
Notifications
You must be signed in to change notification settings - Fork 6
Multi step plugin archive #117
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # .github/workflows/build-plugin-archive.yml
tyrann0us
requested changes
Mar 21, 2024
Co-authored-by: Philipp Bammes <[email protected]> Signed-off-by: Moritz Meißelbach <[email protected]>
Co-authored-by: Philipp Bammes <[email protected]> Signed-off-by: Moritz Meißelbach <[email protected]>
Co-authored-by: Philipp Bammes <[email protected]> Signed-off-by: Moritz Meißelbach <[email protected]>
tyrann0us
approved these changes
Mar 21, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for incorporating the changes so quickly. LGTM. Left a minor comment that doesn't stop me from approving. 💪🏽
Co-authored-by: Philipp Bammes <[email protected]> Signed-off-by: Moritz Meißelbach <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please check if the PR fulfills these requirements
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Refactoring
What is the current behavior? (You can also link to an open issue here)
build-plugin-archive.yml
uses a single php version for bundling dependencies and executing build tools.WP's committment to supporting php down to 7.0 makes it increasingly cumbersome to support "one" php platform requirement for production AND development/building.
We have been accepting this limitation in order to streamline our packaging across most of our projects - and it's been a very solid base. But the fact remains that the php ecosystem is moving on while the php7 support requirement for WP packages is not going anywhere. Since this gap is only getting wider, we need to find a better approach
What is the new behavior (if this is a feature change)?
The logic of the workflow has been split into 3 parts:
composer install
using the ancient PHP versionNote: There is no strict technical requirement for step 3 to be in a separate job. It adds a little overhead, but I think at this point, it adds a nice separation of concerns in that it keeps a few environment variables and data handling out of the other steps.
The individual jobs each produce their own "interim" artifact which is then picked up by the next one. This makes it easy to spot and debug where something went wrong:
This change frees us from having to use EOL versions of common tools and also paves the way for modernization of our own tools, for example dropping PHP 7 in Composer Asset Compiler. It also allows us to introduce third-party tools like php-scoper with ease since we are no longer subject to the php version constraints of individual projects.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No
Other information: