Repository navigation
feat: Add Dockerfiles and a build script for multi-target PHP extensi… - #9
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a comprehensive Docker-based build system for compiling the Shopware PHP extension across multiple PHP versions, CPU architectures, and libc implementations. It replaces the previous simple build workflow with a matrix-based approach supporting 16 build combinations (4 PHP versions × 2 libc types × 2 CPU architectures).
Key changes:
- Adds two separate Dockerfiles (gnu/musl) optimized for different libc implementations with multi-stage builds
- Introduces a local build script for developer convenience
- Replaces the single-configuration GitHub Actions workflow with a comprehensive matrix build strategy
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| build-docker.sh | Local build script to generate extension binaries for multiple PHP versions and libc types |
| Dockerfile.musl | Multi-stage Dockerfile for building the extension on Alpine Linux (musl libc) with Rust and required dependencies |
| Dockerfile.gnu | Multi-stage Dockerfile for building the extension on Debian (glibc) with Rust and required dependencies |
| .github/workflows/build.yml | Updated CI workflow from single build to 16-variant matrix build covering PHP 8.1-8.4, gnu/musl, and x86_64/aarch64 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Copy Cargo files first to cache dependencies | ||
| COPY Cargo.toml Cargo.lock ./ | ||
|
|
||
| # Create a dummy main.rs to build dependencies and cache them |
There was a problem hiding this comment.
The comment incorrectly refers to 'main.rs' when it should say 'lib.rs', as shown in the actual command on line 32.
Suggested change
| # Create a dummy main.rs to build dependencies and cache them | |
| # Create a dummy lib.rs to build dependencies and cache them |
…on builds, updating CI to use them.
Soner (shyim)
force-pushed
the
ci/add-gh-job
branch
from
December 15, 2025 09:54
2625578 to
2010836
Compare
Soner (shyim)
force-pushed
the
ci/add-gh-job
branch
from
December 15, 2025 10:08
2010836 to
c80a837
Compare
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
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.
…on builds, updating CI to use them.