X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=.drone.yml;h=b45409a846ef111c9abccf8be9d83705979b347d;hb=98dd4e889a280da83b21934ded58d292bd92b63b;hp=af3ff6c79007f97d063630f3c1e9ff122da886c7;hpb=fe9dd2e12d5f66617e8af5ad08289f9462279f47;p=friendica.git diff --git a/.drone.yml b/.drone.yml index af3ff6c790..b45409a846 100644 --- a/.drone.yml +++ b/.drone.yml @@ -52,21 +52,81 @@ trigger: - pull_request steps: + - name: Restore cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + restore: true + cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache - name: Install dependencies image: composer commands: + - export COMPOSER_HOME=.composer - ./bin/composer.phar run cs:install + - name: Rebuild cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + rebuild: true + cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache - name: Run coding standards check image: friendicaci/php-cs commands: - export CHANGED_FILES="$(git diff --name-status ${DRONE_COMMIT_BEFORE}..${DRONE_COMMIT_AFTER} | grep ^A | cut -f2)" - /check-php-cs.sh + +volumes: + - name: cache + host: + path: /tmp/drone-cache --- kind: pipeline type: docker name: php7.3-mariadb steps: + - name: Restore cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + restore: true + cache_key: '{{ .Repo.Name }}_php73_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache + - name: Composer install + image: friendicaci/php7.3:php7.3.28 + commands: + - export COMPOSER_HOME=.composer + - ./bin/composer.phar validate + - ./bin/composer.phar install --prefer-dist + - name: Rebuild cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + rebuild: true + cache_key: '{{ .Repo.Name }}_php73_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache - name: Test Friendica image: friendicaci/php7.3:php7.3.28 environment: @@ -79,22 +139,10 @@ steps: MEMCACHED_HOST: "memcached" MEMCACHE_HOST: "memcached" commands: - - composer validate - - composer install --prefer-dist - cp config/local-sample.config.php config/local.config.php - - while ! mysqladmin ping -h$MYSQL_HOST -P$MYSQL_PORT --silent; do sleep 1; done + - if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi - mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql - - phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml - - name: Codecov - image: plugins/codecov - when: - repo: - - friendica/friendica - settings: - token: - from_secret: codecov-token - files: - - clover.xml + - phpunit --configuration tests/phpunit.xml services: - name: mariadb @@ -112,12 +160,47 @@ services: - name: redis image: redis + +volumes: + - name: cache + host: + path: /tmp/drone-cache --- kind: pipeline type: docker name: php7.4-mariadb steps: + - name: Restore cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + restore: true + cache_key: '{{ .Repo.Name }}_php74_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache + - name: Composer install + image: friendicaci/php7.4:php7.4.18 + commands: + - export COMPOSER_HOME=.composer + - ./bin/composer.phar validate + - ./bin/composer.phar install --prefer-dist + - name: Rebuild cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + rebuild: true + cache_key: '{{ .Repo.Name }}_php74_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache - name: Test Friendica image: friendicaci/php7.4:php7.4.18 environment: @@ -129,11 +212,11 @@ steps: REDIS_HOST: "redis" MEMCACHED_HOST: "memcached" MEMCACHE_HOST: "memcached" + XDEBUG_MODE: "coverage" commands: - - composer validate - - composer install --prefer-dist + - phpenmod xdebug - cp config/local-sample.config.php config/local.config.php - - while ! mysqladmin ping -h$MYSQL_HOST -P$MYSQL_PORT --silent; do sleep 1; done + - if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi - mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql - phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml - name: Codecov @@ -163,12 +246,47 @@ services: - name: redis image: redis + +volumes: + - name: cache + host: + path: /tmp/drone-cache --- kind: pipeline type: docker name: php8.0-mariadb steps: + - name: Restore cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + restore: true + cache_key: '{{ .Repo.Name }}_php80_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache + - name: Composer install + image: friendicaci/php8.0:php8.0.5 + commands: + - export COMPOSER_HOME=.composer + - ./bin/composer.phar validate + - ./bin/composer.phar install --prefer-dist + - name: Rebuild cache + image: meltwater/drone-cache:dev + settings: + backend: "filesystem" + rebuild: true + cache_key: '{{ .Repo.Name }}_php80_{{ arch }}_{{ os }}' + archive_format: "gzip" + mount: + - '.composer' + volumes: + - name: cache + path: /tmp/cache - name: Test Friendica image: friendicaci/php8.0:php8.0.5 environment: @@ -181,22 +299,10 @@ steps: MEMCACHED_HOST: "memcached" MEMCACHE_HOST: "memcached" commands: - - composer validate - - composer install --prefer-dist - cp config/local-sample.config.php config/local.config.php - - while ! mysqladmin ping -h$MYSQL_HOST -P$MYSQL_PORT --silent; do sleep 1; done + - if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi - mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql - - phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml - - name: Codecov - image: plugins/codecov - when: - repo: - - friendica/friendica - settings: - token: - from_secret: codecov-token - files: - - clover.xml + - phpunit --configuration tests/phpunit.xml services: - name: mariadb @@ -214,3 +320,8 @@ services: - name: redis image: redis + +volumes: + - name: cache + host: + path: /tmp/drone-cache