Browse Source

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

Signed-off-by: Joas Schilling <coding@schilljs.com>
tags/v21.0.0beta1
Joas Schilling 3 years ago
parent
commit
0de48617ec
No account linked to committer's email address
3 changed files with 42 additions and 0 deletions
  1. 21
    0
      .drone.yml
  2. 2
    0
      tests/drone-run-integration-tests.sh
  3. 19
    0
      tests/drone-run-php-tests.sh

+ 21
- 0
.drone.yml View File

@@ -249,14 +249,17 @@ steps:
- name: nodb-php7.3
image: nextcloudci/php7.3:latest
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:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
#- name: nodb-php8.0
# image: nextcloudci/php8.0:latest
# commands:
# - bash tests/drone-run-php-tests.sh || exit 0
# - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite

services:
@@ -283,14 +286,17 @@ steps:
- name: sqlite-php7.3
image: nextcloudci/php7.3:latest
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:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
#- name: sqlite-php8.0
# image: nextcloudci/php8.0:latest
# commands:
# - bash tests/drone-run-php-tests.sh || exit 0
# - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite

services:
@@ -317,6 +323,7 @@ steps:
- name: mariadb10.1-php7.3
image: nextcloudci/php7.3:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb

services:
@@ -352,6 +359,7 @@ steps:
- name: mariadb10.2-php7.3
image: nextcloudci/php7.3:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb

services:
@@ -386,6 +394,7 @@ steps:
- name: mariadb10.3-php7.3
image: nextcloudci/php7.3:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb

services:
@@ -421,10 +430,12 @@ steps:
- name: mariadb10.4-php7.4
image: nextcloudci/php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
#- name: mariadb10.4-php8.0
# image: nextcloudci/php8.0:latest
# commands:
# - bash tests/drone-run-php-tests.sh || exit 0
# - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb

services:
@@ -460,6 +471,7 @@ steps:
- name: mysql-php7.4
image: nextcloudci/php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql

services:
@@ -496,6 +508,7 @@ steps:
- name: mysql-php7.4
image: nextcloudci/php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql

services:
@@ -528,6 +541,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:
@@ -560,6 +574,7 @@ steps:
- name: mysql5.6-php7.3
image: nextcloudci/php7.3:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql

services:
@@ -594,6 +609,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

@@ -629,6 +645,7 @@ steps:
- name: postgres-php7.3
image: nextcloudci/php7.3:latest
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

@@ -663,6 +680,7 @@ steps:
- name: postgres-php7.4
image: nextcloudci/php7.4:latest
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

@@ -699,10 +717,12 @@ steps:
- name: mysqlmb4-php7.4
image: nextcloudci/php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
#- name: mysqlmb4-php8.0
# image: nextcloudci/php8.0:latest
# commands:
# - bash tests/drone-run-php-tests.sh || exit 0
# - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4

services:
@@ -738,6 +758,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:

+ 2
- 0
tests/drone-run-integration-tests.sh 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
- 0
tests/drone-run-php-tests.sh 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

Loading…
Cancel
Save