Skip to content

Commit

Permalink
fix(ProjectWithBlankName): Add validation annotations
Browse files Browse the repository at this point in the history
  • Loading branch information
Crovitche-1623 committed Oct 26, 2021
1 parent 7623375 commit 54007a7
Show file tree
Hide file tree
Showing 34 changed files with 1,325 additions and 607 deletions.
28 changes: 28 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
**/*.log
**/*.md
**/*.php~
**/._*
**/.dockerignore
**/.DS_Store
**/.git/
**/.gitattributes
**/.gitignore
**/.gitmodules
**/docker-compose.*.yaml
**/docker-compose.*.yml
**/docker-compose.yaml
**/docker-compose.yml
**/Dockerfile
**/Thumbs.db
.editorconfig
.env.*.local
.env.local
.env.local.php
.php_cs.cache
bin/*
!bin/console
docker/db/data/
helm/
public/bundles/
var/
vendor/
31 changes: 23 additions & 8 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,19 +1,34 @@
; top-most EditorConfig file
root = true

; Unix-style newlines
[*]
end_of_line = LF
# Change these settings to your own preference
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 4

[*.php]
ij_visual_guides = 80, 120
# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{js,html}]
indent_size = 2

[*.json]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[*.{twig, html, css, yml, yaml, js, json}]
indent_size = 2
[*.sh]
indent_style = tab

[*.{yaml,yml}]
trim_trailing_whitespace = false

[docker-compose.{yaml,yml}]
indent_size = 2

[Dockerfile]
indent_style = tab
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ APP_SECRET=81f76a9050e03da89036a7d731454587
###> doctrine/doctrine-bundle ###
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
DATABASE_URL=postgresql://smarterd:!ChangeMe!@db:5432/smarterd?serverVersion=10&charset=utf8
DATABASE_URL=postgresql://symfony:ChangeMe@db:5432/app?serverVersion=13&charset=utf8
###< doctrine/doctrine-bundle ###

###> nelmio/cors-bundle ###
Expand Down
1 change: 0 additions & 1 deletion .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
DATABASE_URL=postgresql://smarterd:!ChangeMe!@db:5432/smarterd_test?serverVersion=10&charset=utf8
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
18 changes: 16 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
# Force all line endings to be \n
* text eol=lf
* text=auto eol=lf

*.conf text eol=lf
*.html text eol=lf
*.ini text eol=lf
*.js text eol=lf
*.json text eol=lf
*.md text eol=lf
*.php text eol=lf
*.sh text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
bin/console text eol=lf

*.ico binary
*.png binary
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
/config/secrets/prod/prod.decrypt.private.php
/public/bundles/
/var/
/docker/nginx/logs
/vendor/
/bin/.phpunit/
###< symfony/framework-bundle ###
Expand Down
140 changes: 140 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# the different stages of this Dockerfile are meant to be built into separate images
# https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage
# https://docs.docker.com/compose/compose-file/#target


# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
ARG PHP_VERSION=8.0
ARG CADDY_VERSION=2

# "php" stage
FROM php:${PHP_VERSION}-fpm-alpine AS symfony_php

# persistent / runtime deps
RUN apk add --no-cache \
make \
acl \
fcgi \
file \
gettext \
git \
gnu-libiconv \
postgresql-dev \
;

# install gnu-libiconv and set LD_PRELOAD env to make iconv work fully on Alpine image.
# see https://github.com/docker-library/php/issues/240#issuecomment-763112749
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so

ARG APCU_VERSION=5.1.20
RUN set -eux; \
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
icu-dev \
libzip-dev \
zlib-dev \
; \
\
docker-php-ext-configure zip; \
docker-php-ext-install -j$(nproc) \
intl \
zip \
; \
pecl install \
apcu-${APCU_VERSION} \
; \
pecl clear-cache; \
docker-php-ext-enable \
apcu \
opcache \
; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --no-cache --virtual .phpexts-rundeps $runDeps; \
\
apk del .build-deps

COPY docker/php/docker-healthcheck.sh /usr/local/bin/docker-healthcheck
RUN chmod +x /usr/local/bin/docker-healthcheck

HEALTHCHECK --interval=10s --timeout=3s --retries=3 CMD ["docker-healthcheck"]

RUN ln -s $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini
COPY docker/php/conf.d/symfony.prod.ini $PHP_INI_DIR/conf.d/symfony.ini

COPY docker/php/php-fpm.d/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf

COPY docker/php/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN chmod +x /usr/local/bin/docker-entrypoint

VOLUME /var/run/php

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# https://getcomposer.org/doc/03-cli.md#composer-allow-superuser
ENV COMPOSER_ALLOW_SUPERUSER=1

ENV PATH="${PATH}:/root/.composer/vendor/bin"

WORKDIR /srv/app

# Allow to choose skeleton
ARG SKELETON="symfony/skeleton"
ENV SKELETON ${SKELETON}

# Allow to use development versions of Symfony
ARG STABILITY="stable"
ENV STABILITY ${STABILITY}

# Allow to select skeleton version
ARG SYMFONY_VERSION=""
ENV SYMFONY_VERSION ${SYMFONY_VERSION}

# Download the Symfony skeleton and leverage Docker cache layers
RUN composer create-project "${SKELETON} ${SYMFONY_VERSION}" . --stability=$STABILITY --prefer-dist --no-dev --no-progress --no-interaction; \
composer clear-cache

###> recipes ###
###> doctrine/doctrine-bundle ###
RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev; \
docker-php-ext-install -j$(nproc) pdo_pgsql; \
apk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5; \
apk del .pgsql-deps
###< doctrine/doctrine-bundle ###
###< recipes ###

COPY . .

RUN set -eux; \
mkdir -p var/cache var/log; \
composer install --prefer-dist --no-dev --no-progress --no-scripts --no-interaction; \
composer dump-autoload --classmap-authoritative --no-dev; \
composer symfony:dump-env prod; \
composer run-script --no-dev post-install-cmd; \
chmod +x bin/console; sync
VOLUME /srv/app/var

ENTRYPOINT ["docker-entrypoint"]
CMD ["php-fpm"]

FROM caddy:${CADDY_VERSION}-builder-alpine AS symfony_caddy_builder

RUN xcaddy build \
--with github.com/dunglas/mercure \
--with github.com/dunglas/mercure/caddy \
--with github.com/dunglas/vulcain \
--with github.com/dunglas/vulcain/caddy

FROM caddy:${CADDY_VERSION} AS symfony_caddy

WORKDIR /srv/app

COPY --from=dunglas/mercure:v0.11 /srv/public /srv/mercure-assets/
COPY --from=symfony_caddy_builder /usr/bin/caddy /usr/bin/caddy
COPY --from=symfony_php /srv/app/public public/
COPY docker/caddy/Caddyfile /etc/caddy/Caddyfile
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SHELL := /bin/bash
SHELL := /bin/sh

tests: export APP_ENV=test
tests:
Expand Down
7 changes: 4 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"ext-json": "*",
"ext-openssl": "*",
"ext-pcre": "*",
"ext-pdo_pgsql": "*",
"ext-session": "*",
"ext-simplexml": "*",
"ext-sodium": "*",
Expand Down Expand Up @@ -59,10 +58,11 @@
"symfony/yaml": "5.3.*"
},
"require-dev": {
"roave/security-advisories": "dev-latest",
"doctrine/doctrine-fixtures-bundle": "^3.3",
"fakerphp/faker": "^1.15",
"justinrainbow/json-schema": "^5.2",
"liip/test-fixtures-bundle": "2.0.0-beta1",
"liip/test-fixtures-bundle": "2.1.0-alpha1",
"phpunit/phpunit": "^9.5",
"symfony/browser-kit": "5.3.*",
"symfony/css-selector": "^5.3",
Expand Down Expand Up @@ -115,7 +115,8 @@
"extra": {
"symfony": {
"allow-contrib": false,
"require": "5.3.*"
"require": "5.3.*",
"docker": true
}
}
}
Loading

0 comments on commit 54007a7

Please sign in to comment.