diff --git a/Makefile b/Makefile index be62ac7..15555a2 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,32 @@ -composer := docker-compose run --rm composer-package-testing composer -d app +service_name := composer-package-dev +compose_file := ./docker/docker-compose.yaml +compose_command := PUID=${UID} PGID=${GID} docker-compose -f $(compose_file) +compose_run := $(compose_command) run --rm $(service_name) + +build: + @$(compose_command) build install: - @$(composer) install + @make build + @$(compose_run) composer install prune: - @docker-compose rm -fsv + @$(compose_command) rm -fsv + +exec-shell: + @$(compose_run) sh code-style-fix: - @$(composer) code-style-fix + @$(compose_run) composer code-style-fix code-style-check: - @$(composer) code-style-check + @$(compose_run) composer code-style-check analyze-code: - @$(composer) analyze-code + @$(compose_run) composer analyze-code run-unit-tests: - @$(composer) run-unit-tests + @$(compose_run) composer run-unit-tests full-test: - @$(composer) full-test + @$(compose_run) composer full-test diff --git a/docker-compose.yaml b/docker-compose.yaml deleted file mode 100644 index c732626..0000000 --- a/docker-compose.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -version: "3.9" - -services: - composer-package-testing: - image: ch1c0ry/php8-cli-actrunner - volumes: - - .:/app \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..797a42f --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM php:8.3-fpm-alpine + +RUN apk add --no-cache make + +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +ARG PUID=1000 +ARG PGID=1000 + +RUN addgroup -g ${PGID} www && adduser -u ${PUID} -G www -s /bin/sh -D www + +COPY --chown=www:www ./ /var/www + +USER www + +WORKDIR /var/www \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 0000000..33b7386 --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,11 @@ +--- +services: + composer-package-dev: + build: + context: ../ + dockerfile: ./docker/Dockerfile + args: + - PUID=${PUID} + - PGID=${PGID} + volumes: + - ..:/var/www \ No newline at end of file