+ - name: Run default Xgettext
+ image: friendicaci/transifex
+ commands:
+ - ./bin/run_xgettext.sh
+
+ - name: Check default
+ image: friendicaci/transifex
+ commands:
+ - /check-messages.sh
+---
+kind: pipeline
+type: docker
+name: Integrity checks
+
+steps:
+ - name: Check database version
+ image: alpine
+ commands:
+ - export DBSTRUCTURE_VERSION="$(sed -rn "s/.*'DB_UPDATE_VERSION', ([0-9]+).*/\1/p" static/dbstructure.config.php)"
+ - export DATABASE_VERSION="$(sed -rn 's/.*DB_UPDATE_VERSION ([0-9]+).*/\1/p' database.sql)"
+ - echo "Database $DATABASE_VERSION - DB-Structure $DBSTRUCTURE_VERSION"
+ - if [[ "$DBSTRUCTURE_VERSION" != "$DATABASE_VERSION" ]]; then
+ echo "Database version mismatch.";
+ exit 1;
+ fi
+---
+kind: pipeline
+type: docker
+name: php7.3-lint
+
+steps:
+ - name: Test
+ image: php:7.3
+ commands:
+ - ./bin/composer.phar run lint
+---
+kind: pipeline
+type: docker
+name: php7.4-lint
+
+steps:
+ - name: Test
+ image: php:7.4
+ commands:
+ - ./bin/composer.phar run lint
+---
+kind: pipeline
+type: docker
+name: php8.0-lint
+
+steps:
+ - name: Test
+ image: php:8.0
+ commands:
+ - ./bin/composer.phar run lint
+---
+kind: pipeline
+type: docker
+name: php-cs check
+
+trigger:
+ event:
+ - 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.4-database-check
+
+depends_on:
+ - Integrity checks
+
+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: Recreate database.sql
+ image: friendicaci/php7.4:php7.4.18
+ environment:
+ MYSQL_HOST: "mariadb"
+ MYSQL_PORT: 3306
+ MYSQL_DATABASE: "test"
+ MYSQL_PASSWORD: "test"
+ MYSQL_USER: "test"
+ REDIS_HOST: "redis"
+ MEMCACHED_HOST: "memcached"
+ MEMCACHE_HOST: "memcached"
+ XDEBUG_MODE: "coverage"
+ commands: