Skip to content

feat: implement GitHub Actions workflow for building#486

Merged
francoism90 merged 4 commits into
mainfrom
feat-build-image
Jul 25, 2026
Merged

feat: implement GitHub Actions workflow for building#486
francoism90 merged 4 commits into
mainfrom
feat-build-image

Conversation

@francoism90

@francoism90 francoism90 commented Jul 25, 2026

Copy link
Copy Markdown
Owner

This pull request introduces significant improvements to the container build and deployment pipeline, focusing on multi-platform image builds, enhanced Podman quadlet templates, and improved runtime user handling. The changes streamline the CI/CD workflow, standardize image references, and ensure containers run with correct user permissions across environments.

CI/CD Pipeline Enhancements:

  • Added a comprehensive GitHub Actions workflow in .github/workflows/build.yml to build, tag, and push multi-platform images (linux/amd64, linux/arm64) using Podman and Buildah, with caching and manifest merging for efficient and reliable releases.

Podman Quadlet Template Updates:

  • Updated all frankenphp-octane quadlet stubs (app, horizon, inertia-ssr, reverb, schedule) to use a configurable {{image}} placeholder (defaulting to a registry image), switch AutoUpdate to registry, and set PUID/PGID environment variables for user mapping. [1] [2] [3] [4] [5]
  • Added a new substitutions config in config/podman.php to allow custom placeholder values (e.g., {{image}}) in quadlet templates.

Container Runtime Improvements:

  • Modified the Containerfile to install gosu and ensure the container runs as root by default, so entrypoint logic can safely remap the docker user/group to the host's PUID/PGID before dropping privileges. [1] [2]
  • Enhanced entrypoint.sh to dynamically renumber the docker user/group at runtime, ensuring correct file ownership and permission handling regardless of the host user's UID/GID.

Platform-Specific Dependency Handling:

  • Updated the Containerfile to only install certain video driver packages (libmfx-gen1.2, libvpl2, intel-media-va-driver-non-free) on amd64 builds, reducing unnecessary dependencies on other platforms.

@francoism90
francoism90 merged commit b3f127e into main Jul 25, 2026
6 checks passed
@francoism90
francoism90 deleted the feat-build-image branch July 25, 2026 18:12
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.

1 participant