friendica/.drone.yml

328 lines
7.7 KiB
YAML
Raw Normal View History

kind: pipeline
2021-05-09 22:56:00 +02:00
type: docker
2021-05-09 23:28:08 +02:00
name: Check messages.po
steps:
2021-05-09 22:56:00 +02:00
- name: Run default Xgettext
image: friendicaci/transifex
commands:
- ./bin/run_xgettext.sh
2021-05-09 22:56:00 +02:00
- name: Check default
image: friendicaci/transifex
commands:
2021-05-13 18:47:12 +02:00
- /check-messages.sh
---
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
2021-05-13 19:44:38 +02:00
---
kind: pipeline
type: docker
name: php-cs check
2021-05-13 22:31:37 +02:00
trigger:
event:
- pull_request
2021-05-13 19:44:38 +02:00
steps:
2021-05-27 22:15:06 +02:00
- 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
2021-05-13 19:44:38 +02:00
- name: Install dependencies
image: composer
commands:
2021-05-27 22:15:06 +02:00
- export COMPOSER_HOME=.composer
2021-05-13 19:44:38 +02:00
- ./bin/composer.phar run cs:install
2021-05-27 22:15:06 +02:00
- 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
2021-05-13 19:44:38 +02:00
- 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
2021-05-27 22:15:06 +02:00
volumes:
- name: cache
host:
path: /tmp/drone-cache
2021-05-13 21:21:02 +02:00
---
kind: pipeline
type: docker
name: php7.3-mariadb
steps:
2021-05-27 22:08:39 +02:00
- 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
2021-05-24 20:31:10 +02:00
- name: Composer install
2021-05-27 22:08:39 +02:00
image: friendicaci/php7.3:php7.3.28
2021-05-24 20:31:10 +02:00
commands:
2021-05-27 22:08:39 +02:00
- 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
2021-05-13 21:21:02 +02:00
- name: Test Friendica
image: friendicaci/php7.3:php7.3.28
environment:
2021-05-16 12:51:54 +02:00
MYSQL_HOST: "mariadb"
2021-05-13 21:21:02 +02:00
MYSQL_PORT: 3306
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
REDIS_HOST: "redis"
MEMCACHED_HOST: "memcached"
MEMCACHE_HOST: "memcached"
commands:
- cp config/local-sample.config.php config/local.config.php
2021-05-16 12:44:38 +02:00
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
2021-05-13 21:21:02 +02:00
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
2021-05-15 23:44:25 +02:00
- phpunit --configuration tests/phpunit.xml
2021-05-13 21:21:02 +02:00
services:
- name: mariadb
image: mariadb:latest
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
tmpfs:
- /var/lib/mysql
- name: memcached
image: memcached
- name: redis
image: redis
2021-05-27 22:08:39 +02:00
volumes:
- name: cache
host:
path: /tmp/drone-cache
2021-05-13 21:21:02 +02:00
---
kind: pipeline
type: docker
name: php7.4-mariadb
steps:
2021-05-27 22:11:47 +02:00
- 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
2021-05-24 20:31:10 +02:00
- name: Composer install
image: friendicaci/php7.4:php7.4.18
commands:
2021-05-27 22:11:47 +02:00
- 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
2021-05-13 21:21:02 +02:00
- name: Test Friendica
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"
2021-05-15 23:56:44 +02:00
XDEBUG_MODE: "coverage"
2021-05-13 21:21:02 +02:00
commands:
2021-05-15 23:44:25 +02:00
- phpenmod xdebug
2021-05-13 21:21:02 +02:00
- cp config/local-sample.config.php config/local.config.php
2021-05-16 12:44:38 +02:00
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
2021-05-13 21:21:02 +02:00
- 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
services:
- name: mariadb
image: mariadb:latest
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
tmpfs:
- /var/lib/mysql
- name: memcached
image: memcached
- name: redis
image: redis
2021-05-27 22:15:06 +02:00
volumes:
- name: cache
host:
path: /tmp/drone-cache
2021-05-13 21:21:02 +02:00
---
kind: pipeline
type: docker
name: php8.0-mariadb
steps:
2021-05-27 22:12:27 +02:00
- 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
2021-05-24 20:31:10 +02:00
- name: Composer install
2021-05-27 22:12:27 +02:00
image: friendicaci/php8.0:php8.0.5
2021-05-24 20:31:10 +02:00
commands:
2021-05-27 22:12:27 +02:00
- 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
2021-05-13 21:21:02 +02:00
- name: Test Friendica
image: friendicaci/php8.0:php8.0.5
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"
commands:
- cp config/local-sample.config.php config/local.config.php
2021-05-16 12:44:38 +02:00
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
2021-05-13 21:21:02 +02:00
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
2021-05-15 23:44:25 +02:00
- phpunit --configuration tests/phpunit.xml
2021-05-13 21:21:02 +02:00
services:
- name: mariadb
image: mariadb:latest
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_DATABASE: "test"
MYSQL_PASSWORD: "test"
MYSQL_USER: "test"
tmpfs:
- /var/lib/mysql
- name: memcached
image: memcached
- name: redis
image: redis
2021-05-27 22:15:06 +02:00
volumes:
- name: cache
host:
path: /tmp/drone-cache