From 9729fc939d8e2e5abc2cd3fd20c365cd107236c9 Mon Sep 17 00:00:00 2001 From: ErickSkrauch Date: Sun, 14 Feb 2021 19:01:49 +0100 Subject: [PATCH] Upgrade backend engine --- .gitlab-ci.yml | 21 +- Dockerfile | 26 +- composer.json | 7 +- composer.lock | 580 +------------------------------- docker/php/docker-entrypoint.sh | 15 +- docker/php/wait-for-it.sh | 157 --------- docker/phpmyadmin/Dockerfile | 2 +- 7 files changed, 52 insertions(+), 756 deletions(-) delete mode 100755 docker/php/wait-for-it.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 900c671..296bdaa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,7 +64,9 @@ Composer: cache: policy: pull-push before_script: - - sudo apk add --update --no-cache patch + - sudo composer self-update --2 + - composer config github-oauth.github.com "$GITHUB_TOKEN" + - sudo apk add --update --no-cache patch # necessary to make cweagans/composer-patches work script: - composer install --ignore-platform-reqs @@ -104,9 +106,12 @@ Codeception: before_script: # We don't count code coverage yet, so xdebug can be removed - sudo rm /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + # Install wait-for-it script + - sudo curl "https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855/wait-for-it.sh" -o /usr/local/bin/wait-for-it + - sudo chmod a+x /usr/local/bin/wait-for-it script: - php yii rbac/generate - - ./docker/php/wait-for-it.sh "${DB_HOST}:3306" -s -t 0 -- "php yii migrate/up --interactive=0" + - wait-for-it "${DB_HOST}:3306" -s -t 0 -- php /var/www/html/yii migrate/up --interactive=0 - vendor/bin/codecept run ############### @@ -133,24 +138,24 @@ Docker: - docker pull "$DB_LATEST_IMAGE_NAME" || true # Build images - > - docker build + docker build . --pull --target app --build-arg "build_env=prod" --cache-from "$APP_LATEST_IMAGE_NAME" -t "$APP_VERSIONED_IMAGE_NAME" - -t "$APP_LATEST_IMAGE_NAME" . + -t "$APP_LATEST_IMAGE_NAME" - > - docker build + docker build . --pull --target web --build-arg "build_env=prod" --cache-from "$APP_VERSIONED_IMAGE_NAME" --cache-from "$WEB_LATEST_IMAGE_NAME" -t "$WEB_VERSIONED_IMAGE_NAME" - -t "$WEB_LATEST_IMAGE_NAME" . + -t "$WEB_LATEST_IMAGE_NAME" - > - docker build + docker build . --pull --target db --build-arg "build_env=prod" @@ -158,7 +163,7 @@ Docker: --cache-from "$WEB_VERSIONED_IMAGE_NAME" --cache-from "$DB_LATEST_IMAGE_NAME" -t "$DB_VERSIONED_IMAGE_NAME" - -t "$DB_LATEST_IMAGE_NAME" . + -t "$DB_LATEST_IMAGE_NAME" # Push images to the registry - docker push $APP_VERSIONED_IMAGE_NAME - docker push $APP_LATEST_IMAGE_NAME diff --git a/Dockerfile b/Dockerfile index 4d158bf..5d5fe73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.4.1-fpm-alpine3.11 AS app +FROM php:7.4.15-fpm-alpine3.13 AS app # bash needed to support wait-for-it script RUN apk add --update --no-cache \ @@ -20,23 +20,23 @@ RUN apk add --update --no-cache \ pcntl \ opcache \ && apk add --no-cache --virtual ".phpize-deps" $PHPIZE_DEPS \ - && yes | pecl install xdebug-2.9.0 \ + && yes | pecl install xdebug-2.9.8 \ && yes | pecl install imagick \ && docker-php-ext-enable imagick \ && apk del ".phpize-deps" \ && rm -rf /usr/share/man \ && rm -rf /tmp/* \ - && mkdir /etc/cron.d - -COPY --from=composer:1.9.1 /usr/bin/composer /usr/bin/composer -COPY --from=node:11.13.0-alpine /usr/local/bin/node /usr/bin/ -COPY --from=node:11.13.0-alpine /usr/lib/libgcc* /usr/lib/libstdc* /usr/lib/* /usr/lib/ - -RUN mkdir /root/.composer \ - && composer global require --no-progress "hirak/prestissimo:>=0.3.8" \ - && composer clear-cache - -COPY ./docker/php/wait-for-it.sh /usr/local/bin/wait-for-it + # Create cron directory + && mkdir -p /etc/cron.d \ + # Install wait-for-it script + && curl "https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855/wait-for-it.sh" -o /usr/local/bin/wait-for-it \ + && chmod a+x /usr/local/bin/wait-for-it \ + # Install composer and global dependencies + && curl "https://getcomposer.org/download/2.0.9/composer.phar" -o /usr/bin/composer \ + && chmod a+x /usr/bin/composer + # TODO: migrate to the build-pack secrets when they will implement compatibility with the docker-compose + # Feature: https://docs.docker.com/develop/develop-images/build_enhancements/#new-docker-build-secret-information + # Track issues: https://github.com/docker/compose/issues/6358, https://github.com/compose-spec/compose-spec/issues/81 COPY ./patches /var/www/html/patches/ COPY ./composer.* /var/www/html/ diff --git a/composer.json b/composer.json index a446323..20acb17 100644 --- a/composer.json +++ b/composer.json @@ -48,12 +48,17 @@ "codeception/module-asserts": "^1.1.0", "codeception/module-rest": "^1.0.0", "codeception/module-yii2": "^1.0.0", - "cweagans/composer-patches": "^1.6", + "cweagans/composer-patches": "^1.7", "ely/php-code-style": "^0.3.0", "php-mock/php-mock-phpunit": "^2.5", "roave/security-advisories": "dev-master" }, "replace": { + "bower-asset/inputmask": "*", + "bower-asset/jquery": "*", + "bower-asset/punycode": "*", + "bower-asset/raven-js": "*", + "bower-asset/yii2-pjax": "*", "paragonie/random_compat": "2.99.99", "symfony/polyfill-ctype": "*", "symfony/polyfill-iconv": "*", diff --git a/composer.lock b/composer.lock index 4625b0a..74512d2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0b26cbf8d6c24d3246e64de9107c6c03", + "content-hash": "0cfe3544225f062b58d67960419c5fef", "packages": [ { "name": "bacon/bacon-qr-code", @@ -114,96 +114,6 @@ ], "time": "2019-12-19T17:51:41+00:00" }, - { - "name": "bower-asset/inputmask", - "version": "3.3.11", - "source": { - "type": "git", - "url": "git@github.com:RobinHerbots/Inputmask.git", - "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/5e670ad62f50c738388d4dcec78d2888505ad77b", - "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" - }, - "require": { - "bower-asset/jquery": ">=1.7" - }, - "type": "bower-asset", - "license": [ - "http://opensource.org/licenses/mit-license.php" - ] - }, - { - "name": "bower-asset/jquery", - "version": "3.4.1", - "source": { - "type": "git", - "url": "https://github.com/jquery/jquery-dist.git", - "reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/15bc73803f76bc53b654b9fdbbbc096f56d7c03d", - "reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d" - }, - "type": "bower-asset", - "license": [ - "MIT" - ] - }, - { - "name": "bower-asset/punycode", - "version": "v1.3.2", - "source": { - "type": "git", - "url": "https://github.com/bestiejs/punycode.js.git", - "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", - "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" - }, - "type": "bower-asset" - }, - { - "name": "bower-asset/raven-js", - "version": "3.27.0", - "source": { - "type": "git", - "url": "git@github.com:getsentry/raven-js-bower.git", - "reference": "c8b3a6040be6928e2f57fa5eec4d7afc31750235" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/raven-js-bower/zipball/c8b3a6040be6928e2f57fa5eec4d7afc31750235", - "reference": "c8b3a6040be6928e2f57fa5eec4d7afc31750235" - }, - "type": "bower-asset" - }, - { - "name": "bower-asset/yii2-pjax", - "version": "2.0.7.1", - "source": { - "type": "git", - "url": "https://github.com/yiisoft/jquery-pjax.git", - "reference": "aef7b953107264f00234902a3880eb50dafc48be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be", - "reference": "aef7b953107264f00234902a3880eb50dafc48be" - }, - "require": { - "bower-asset/jquery": ">=1.8" - }, - "type": "bower-asset", - "license": [ - "MIT" - ] - }, { "name": "brick/math", "version": "0.8.15", @@ -248,12 +158,6 @@ "brick", "math" ], - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], "time": "2020-04-15T15:59:35+00:00" }, { @@ -576,20 +480,6 @@ "redis", "xcache" ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], "time": "2020-05-27T16:24:54+00:00" }, { @@ -652,20 +542,6 @@ "parser", "php" ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], "time": "2020-05-25T17:44:05+00:00" }, { @@ -1334,16 +1210,6 @@ "JWS", "jwt" ], - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], "time": "2020-05-22T08:21:12+00:00" }, { @@ -1606,16 +1472,6 @@ "datetime", "time" ], - "funding": [ - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], "time": "2020-05-24T18:27:52+00:00" }, { @@ -1962,12 +1818,6 @@ "identifier", "uuid" ], - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - } - ], "time": "2020-03-29T20:13:32+00:00" }, { @@ -2265,20 +2115,6 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -2341,20 +2177,6 @@ "portable", "shim" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-12T16:47:27+00:00" }, { @@ -2404,20 +2226,6 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-30T20:06:45+00:00" }, { @@ -2496,20 +2304,6 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-30T20:35:19+00:00" }, { @@ -2567,20 +2361,6 @@ "interoperability", "standards" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -2721,12 +2501,12 @@ "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", + "url": "https://github.com/webmozarts/assert.git", "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", "shasum": "" }, @@ -2862,20 +2642,6 @@ "framework", "yii2" ], - "funding": [ - { - "url": "https://github.com/yiisoft", - "type": "github" - }, - { - "url": "https://opencollective.com/yiisoft", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2", - "type": "tidelift" - } - ], "time": "2020-05-02T11:11:31+00:00" }, { @@ -2931,20 +2697,6 @@ "extension installer", "yii2" ], - "funding": [ - { - "url": "https://github.com/yiisoft", - "type": "github" - }, - { - "url": "https://opencollective.com/yiisoft", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-composer", - "type": "tidelift" - } - ], "time": "2020-04-20T18:47:46+00:00" }, { @@ -3085,20 +2837,6 @@ "session", "yii2" ], - "funding": [ - { - "url": "https://github.com/yiisoft", - "type": "github" - }, - { - "url": "https://opencollective.com/yiisoft", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-redis", - "type": "tidelift" - } - ], "time": "2020-05-02T12:03:42+00:00" }, { @@ -3298,12 +3036,6 @@ "functional testing", "unit testing" ], - "funding": [ - { - "url": "https://opencollective.com/codeception", - "type": "open_collective" - } - ], "time": "2020-06-07T16:31:51+00:00" }, { @@ -3735,42 +3467,28 @@ "Xdebug", "performance" ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2020-06-04T11:16:35+00:00" }, { "name": "cweagans/composer-patches", - "version": "1.6.7", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/cweagans/composer-patches.git", - "reference": "2e6f72a2ad8d59cd7e2b729f218bf42adb14f590" + "reference": "ae02121445ad75f4eaff800cc532b5e6233e2ddf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/2e6f72a2ad8d59cd7e2b729f218bf42adb14f590", - "reference": "2e6f72a2ad8d59cd7e2b729f218bf42adb14f590", + "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/ae02121445ad75f4eaff800cc532b5e6233e2ddf", + "reference": "ae02121445ad75f4eaff800cc532b5e6233e2ddf", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0", + "composer-plugin-api": "^1.0 || ^2.0", "php": ">=5.3.0" }, "require-dev": { - "composer/composer": "~1.0", + "composer/composer": "~1.0 || ~2.0", "phpunit/phpunit": "~4.6" }, "type": "composer-plugin", @@ -3793,7 +3511,11 @@ } ], "description": "Provides a way to patch Composer packages.", - "time": "2019-08-29T20:11:49+00:00" + "support": { + "issues": "https://github.com/cweagans/composer-patches/issues", + "source": "https://github.com/cweagans/composer-patches/tree/1.7.0" + }, + "time": "2020-09-30T17:56:20+00:00" }, { "name": "doctrine/instantiator", @@ -3849,20 +3571,6 @@ "constructor", "instantiate" ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], "time": "2020-05-29T17:27:14+00:00" }, { @@ -3953,6 +3661,7 @@ } ], "description": "JSONPath implementation for parsing, searching and flattening arrays", + "abandoned": "softcreatr/jsonpath", "time": "2019-07-15T17:23:22+00:00" }, { @@ -4044,12 +3753,6 @@ } ], "description": "A tool to automatically fix PHP code style", - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], "time": "2020-04-15T18:51:10+00:00" }, { @@ -4763,12 +4466,6 @@ "testing", "xunit" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-05-23T08:02:54+00:00" }, { @@ -4819,12 +4516,6 @@ "filesystem", "iterator" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-04-18T05:02:12+00:00" }, { @@ -4973,12 +4664,6 @@ "keywords": [ "timer" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-06-07T12:05:53+00:00" }, { @@ -5028,12 +4713,7 @@ "keywords": [ "tokenizer" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], + "abandoned": true, "time": "2020-05-06T09:56:31+00:00" }, { @@ -5122,16 +4802,6 @@ "testing", "xunit" ], - "funding": [ - { - "url": "https://phpunit.de/donate.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-06-07T14:14:21+00:00" }, { @@ -5547,16 +5217,6 @@ } ], "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", - "type": "tidelift" - } - ], "time": "2020-06-10T00:01:14+00:00" }, { @@ -5603,12 +5263,6 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-04-30T05:58:10+00:00" }, { @@ -5774,12 +5428,6 @@ "unidiff", "unified diff" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-05-08T05:01:12+00:00" }, { @@ -5833,12 +5481,6 @@ "environment", "hhvm" ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-04-14T13:36:52+00:00" }, { @@ -6196,12 +5838,6 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-06-01T12:21:09+00:00" }, { @@ -6304,20 +5940,6 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-23T13:13:03+00:00" }, { @@ -6397,20 +6019,6 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-30T20:35:19+00:00" }, { @@ -6464,20 +6072,6 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -6524,20 +6118,6 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-27T08:34:37+00:00" }, { @@ -6600,20 +6180,6 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-23T13:08:13+00:00" }, { @@ -6686,20 +6252,6 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -6758,20 +6310,6 @@ "interoperability", "standards" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -6822,20 +6360,6 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-30T20:35:19+00:00" }, { @@ -6892,20 +6416,6 @@ "configuration", "options" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-23T13:08:13+00:00" }, { @@ -6964,20 +6474,6 @@ "interoperability", "standards" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -7028,20 +6524,6 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -7113,20 +6595,6 @@ "utf-8", "utf8" ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -7190,20 +6658,6 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2020-05-20T17:43:50+00:00" }, { @@ -7266,5 +6720,5 @@ "ext-sodium": "*" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } diff --git a/docker/php/docker-entrypoint.sh b/docker/php/docker-entrypoint.sh index 2e21e85..220b9ae 100755 --- a/docker/php/docker-entrypoint.sh +++ b/docker/php/docker-entrypoint.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -e +YII_EXEC="/var/www/html/yii" XDEBUG_EXTENSION_FILE="/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" PHP_PROD_INI="/usr/local/etc/php/conf.d/php.prod.ini" PHP_DEV_INI="/usr/local/etc/php/conf.d/php.dev.ini" @@ -33,13 +34,6 @@ for path in ${APP_DIRS[*]}; do fi done -if [ "$YII_ENV" = "test" ] -then - YII_EXEC="/var/www/html/tests/codeception/bin/yii" -else - YII_EXEC="/var/www/html/yii" -fi - # Fix permissions for cron tasks chmod 644 /etc/cron.d/* @@ -73,11 +67,6 @@ fi echo "Generating RBAC rules" php $YII_EXEC rbac/generate -if [ "$YII_ENV" != "test" ] -then - wait-for-it "${DB_HOST:-db}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" -else - wait-for-it "${DB_HOST:-testdb}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" -fi +wait-for-it "${DB_HOST:-db}:${DB_PORT:-3306}" -s -t 0 -- php $YII_EXEC migrate/up --interactive=0 exec "$@" diff --git a/docker/php/wait-for-it.sh b/docker/php/wait-for-it.sh deleted file mode 100755 index 172bfff..0000000 --- a/docker/php/wait-for-it.sh +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/env bash -# Use this script to test if a given TCP host/port are available -# https://github.com/jlordiales/wait-for-it (fork of original source) - -cmdname=$(basename $0) - -echoerr() { if [[ $QUIET -ne 1 ]]; then echo "$@" 1>&2; fi } - -usage() { - cat << USAGE >&2 -Usage: - $cmdname host:port [-s] [-t timeout] [-- command args] - -s | --strict Only execute subcommand if the test succeeds - -q | --quiet Don't output any status messages - -t TIMEOUT | --timeout=TIMEOUT - Timeout in seconds, zero for no timeout - -- COMMAND ARGS Execute command with args after the test finishes -USAGE - exit 1 -} - -wait_for() { - local wait_host=$1 - local wait_port=$2 - if [[ $TIMEOUT -gt 0 ]]; then - echoerr "$cmdname: waiting $TIMEOUT seconds for $wait_host:$wait_port" - else - echoerr "$cmdname: waiting for $wait_host:$wait_port without a timeout" - fi - local start_ts=$(date +%s) - while : - do - (echo > /dev/tcp/$wait_host/$wait_port) >/dev/null 2>&1 - local result=$? - if [[ $result -eq 0 ]]; then - local end_ts=$(date +%s) - echoerr "$cmdname: $wait_host:$wait_port is available after $((end_ts - start_ts)) seconds" - break - fi - sleep 1 - done - return $result -} - -wait_for_wrapper() { - local wait_host=$1 - local wait_port=$2 - # In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692 - if [[ $QUIET -eq 1 ]]; then - timeout $TIMEOUT $0 $wait_host:$wait_port --quiet --child --timeout=$TIMEOUT & - else - timeout $TIMEOUT $0 $wait_host:$wait_port --child --timeout=$TIMEOUT & - fi - PID=$! - trap "kill -INT -$PID" INT - wait $PID - RESULT=$? - if [[ $RESULT -ne 0 ]]; then - echoerr "$cmdname: timeout occurred after waiting $TIMEOUT seconds for $wait_host:$wait_port" - fi - return $RESULT -} - -parse_arguments() { - local index=0 - while [[ $# -gt 0 ]] - do - case "$1" in - *:* ) - hostport=(${1//:/ }) - HOST[$index]=${hostport[0]} - PORT[$index]=${hostport[1]} - shift 1 - ;; - --child) - CHILD=1 - shift 1 - ;; - -q | --quiet) - QUIET=1 - shift 1 - ;; - -s | --strict) - STRICT=1 - shift 1 - ;; - -t) - TIMEOUT="$2" - if [[ $TIMEOUT == "" ]]; then break; fi - shift 2 - ;; - --timeout=*) - TIMEOUT="${1#*=}" - shift 1 - ;; - --) - shift - CLI="$@" - break - ;; - --help) - usage - ;; - *) - echoerr "Unknown argument: $1" - usage - ;; - esac - let index+=1 - done - if [[ ${#HOST[@]} -eq 0 || ${#PORT[@]} -eq 0 ]]; then - echoerr "Error: you need to provide a host and port to test." - usage - fi -} - -iterate_hosts() { - local result=0 - local index=0 - local wait_function=$1 - while [[ $result -eq 0 && $index -lt ${#HOST[@]} ]]; do - ($wait_function ${HOST[$index]} ${PORT[$index]}) - result=$? - let index+=1 - done - echo $result -} - -wait_for_services() { - TIMEOUT=${TIMEOUT:-15} - STRICT=${STRICT:-0} - CHILD=${CHILD:-0} - QUIET=${QUIET:-0} - - if [[ $CHILD -gt 0 ]]; then - exit $(iterate_hosts wait_for) - else - if [[ $TIMEOUT -gt 0 ]]; then - RESULT=$(iterate_hosts wait_for_wrapper) - else - RESULT=$(iterate_hosts wait_for) - fi - fi -} - -parse_arguments "$@" -wait_for_services - -if [[ $CLI != "" ]]; then - if [[ $RESULT -ne 0 && $STRICT -eq 1 ]]; then - echoerr "$cmdname: strict mode, refusing to execute subprocess" - exit $RESULT - fi - exec $CLI -else - exit $RESULT -fi diff --git a/docker/phpmyadmin/Dockerfile b/docker/phpmyadmin/Dockerfile index 3848199..30d3024 100644 --- a/docker/phpmyadmin/Dockerfile +++ b/docker/phpmyadmin/Dockerfile @@ -1,3 +1,3 @@ -FROM phpmyadmin/phpmyadmin:4.8.5 +FROM phpmyadmin/phpmyadmin:5.0.4 COPY config.inc.php /usr/src/phpmyadmin/