Only run phpunit when php, xml or test files are modified

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-10-30 09:46:53 +01:00 committed by backportbot[bot]
parent 7fa28b6715
commit 868fa35f1f
3 changed files with 38 additions and 0 deletions

View file

@ -334,10 +334,12 @@ steps:
- name: nodb-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
- name: nodb-php7.4
image: nextcloudci/php7.4:2
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
services:
@ -368,10 +370,12 @@ steps:
- name: sqlite-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
- name: sqlite-php7.4
image: nextcloudci/php7.4:2
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
services:
@ -398,6 +402,7 @@ steps:
- name: mariadb10.1-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services:
@ -433,6 +438,7 @@ steps:
- name: mariadb10.2-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services:
@ -467,6 +473,7 @@ steps:
- name: mariadb10.3-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services:
@ -501,6 +508,7 @@ steps:
- name: mariadb10.4-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services:
@ -536,6 +544,7 @@ steps:
- name: mysql-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services:
@ -572,6 +581,7 @@ steps:
- name: mysql-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services:
@ -604,6 +614,7 @@ steps:
- name: mysql-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services:
@ -636,6 +647,7 @@ steps:
- name: mysql5.6-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services:
@ -670,6 +682,7 @@ steps:
- name: postgres-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
- POSTGRES=9 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -705,6 +718,7 @@ steps:
- name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
- POSTGRES=10 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -739,6 +753,7 @@ steps:
- name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
- POSTGRES=11 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -774,6 +789,7 @@ steps:
- name: mysqlmb4-php7.2
image: nextcloudci/php7.2:php7.2-13
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
services:
@ -809,6 +825,7 @@ steps:
- name: mysqlmb4-php7.3
image: nextcloudci/php7.3:php7.3-4
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
services:

View file

@ -8,6 +8,8 @@ echo "========================="
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | wc -l) -eq 0 ]] && echo "No files are modified => merge commit" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".xml") -gt 0 ]] && echo "info.xml files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".php$") -gt 0 ]] && echo "PHP files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c "^build/integration/") -gt 0 ]] && echo "Integration test files are modified" && exit 0

19
tests/drone-run-php-tests.sh Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
echo "========================="
echo "= List of changed files ="
echo "========================="
git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA
echo "========================="
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | wc -l) -eq 0 ]] && echo "No files are modified => merge commit" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".xml") -gt 0 ]] && echo "info.xml files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".php$") -gt 0 ]] && echo "PHP files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c "^tests/") -gt 0 ]] && echo "PHP test files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c "/tests/") -gt 0 ]] && echo "PHP test files of an app are modified" && exit 0
exit 1