Skip to content

Docker based Development Setup - #165

Open
GALHP wants to merge 3 commits into
clonio-dev:mainfrom
GALHP:feat/development-setup
Open

Docker based Development Setup#165
GALHP wants to merge 3 commits into
clonio-dev:mainfrom
GALHP:feat/development-setup

Conversation

@GALHP

@GALHP GALHP commented Aug 13, 2026

Copy link
Copy Markdown

Summary

Containerized local dev setup (Docker Compose + make targets) so clonio-cli
builds/runs/tests without a host PHP toolchain, and makes the init IO-error
tests pass under the container's root user.

Stacked PR — base: main · 1st of 6 · Part of #164 (series overview).
Pure tooling, no runtime behavior — safe to merge or skip independently.

Motivation

Contributors otherwise need a matching PHP 8.x + extensions setup. A throwaway
container removes that friction and gives everyone the same composer test /
composer lint environment.

What's changed

  • compose.yaml — one php service (wodby/php:8.5), repo bind-mounted at
    /var/www/html, php -v healthcheck.
  • Makefile.dev.mk (+ hook in Makefile) — make up/down/restart/
    bash, make test (XDEBUG_MODE=coverage composer test), make check
    (composer lint && composer test:types).
  • .env.exampleAPP_KEY + DEV_PHP_VERSION hint.
  • tests/Feature/Commands/InitCommandTest.php — the two "cannot write .env"
    IO-error tests simulated a read-only disk with chmod, a no-op under root
    (the container), so they failed there; they now mock Storage::put() returning
    false — user-independent, same error path.

Testing

make up && make test — full suite green in the container.

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