Skip to content

[Sylius Hackathon - Paris Mars 2025] Add FrankenPHP build - #9

Open
Prometee wants to merge 45 commits into
Sylius:mainfrom
Prometee:frankenphp
Open

[Sylius Hackathon - Paris Mars 2025] Add FrankenPHP build#9
Prometee wants to merge 45 commits into
Sylius:mainfrom
Prometee:frankenphp

Conversation

@Prometee

@Prometee Prometee commented Mar 29, 2025

Copy link
Copy Markdown

This pull request introduces a comprehensive CI workflow for building and testing FrankenPHP Docker images for Sylius, along with necessary configurations and Dockerfiles. The key changes include the addition of a GitHub Actions workflow, Dockerfile configurations for different environments, and Bazel build and test configurations.

GitHub Actions Workflow:

  • Added .github/workflows/sylius-frankenphp.yml to define a CI pipeline for building and testing FrankenPHP Docker images with different PHP versions and distributions. This includes steps for setting up QEMU, caching Docker layers, building multi-platform images, and running Bazel tests.

Dockerfile Configurations:

  • Created frankenphp/Dockerfile with multi-stage builds for base, development, and production FrankenPHP images. This includes installing necessary PHP extensions, setting up Composer, and defining health checks and commands for different environments.

Bazel Build and Test:

  • Updated frankenphp/BUILD to include Bazel build and test configurations for different architectures and PHP versions. This leverages container_import and container_test rules from Bazel's Docker rules.

Configuration Files:

  • Added configuration files for different environments:
    • frankenphp/conf.d/app.ini for general settings.
    • frankenphp/conf.d/app-cli.ini for CLI-specific settings.
    • frankenphp/conf.d/app.dev.ini for development environment settings with Xdebug.
    • frankenphp/conf.d/app.prod.ini for production environment settings.

Test Data:

  • Added test data files for different PHP versions and architectures to validate the Docker images using Bazel's container_test. These files define tests for file existence, permissions, and command outputs. [1] [2] [3] [4]

@Prometee
Prometee force-pushed the frankenphp branch 10 times, most recently from 4a5dbc2 to 20f1758 Compare March 29, 2025 18:07
@Prometee
Prometee force-pushed the frankenphp branch 2 times, most recently from 28f1259 to 357b508 Compare March 29, 2025 18:37
@Prometee

Prometee commented Apr 7, 2025

Copy link
Copy Markdown
Author

Note: a new repository variable will be needed:
${{ vars.DOCKER_FRANKENPHP_REPOSITORY_NAME }}

value:

ghcr.io/Sylius/sylius-frankenphp

Comment thread frankenphp/Dockerfile Outdated
Comment thread .github/workflows/sylius-frankenphp.yml
Comment thread .github/workflows/sylius-frankenphp.yml
Prometee and others added 3 commits April 7, 2025 13:58
Co-authored-by: Dmitri Perunov <diimpp@gmail.com>
Co-authored-by: Dmitri Perunov <diimpp@gmail.com>
Co-authored-by: Dmitri Perunov <diimpp@gmail.com>
@Rafikooo Rafikooo closed this Jun 12, 2026
@Rafikooo Rafikooo reopened this Jun 12, 2026
@Rafikooo Rafikooo closed this Jun 12, 2026
@Rafikooo Rafikooo reopened this Jun 12, 2026
@Rafikooo Rafikooo closed this Jun 12, 2026
@Rafikooo Rafikooo reopened this Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants