Merge pull request #23795 from nextcloud/backport/23788/stable19

[stable19] Only run phpunit when "php" changed
This commit is contained in:
Roeland Jago Douma 2020-10-31 08:49:31 +01:00 committed by GitHub
commit 6b84da03af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 0 deletions

View File

@ -272,14 +272,17 @@ steps:
- name: nodb-php7.2 - name: nodb-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
- name: nodb-php7.3 - name: nodb-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
- name: nodb-php7.4 - name: nodb-php7.4
image: nextcloudci/php7.4:2 image: nextcloudci/php7.4:2
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
services: services:
@ -306,14 +309,17 @@ steps:
- name: sqlite-php7.2 - name: sqlite-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
- name: sqlite-php7.3 - name: sqlite-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
- name: sqlite-php7.4 - name: sqlite-php7.4
image: nextcloudci/php7.4:2 image: nextcloudci/php7.4:2
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
services: services:
@ -340,6 +346,7 @@ steps:
- name: mariadb10.1-php7.2 - name: mariadb10.1-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services: services:
@ -375,6 +382,7 @@ steps:
- name: mariadb10.2-php7.2 - name: mariadb10.2-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services: services:
@ -409,6 +417,7 @@ steps:
- name: mariadb10.3-php7.2 - name: mariadb10.3-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services: services:
@ -443,6 +452,7 @@ steps:
- name: mariadb10.4-php7.3 - name: mariadb10.4-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
services: services:
@ -478,6 +488,7 @@ steps:
- name: mysql-php7.2 - name: mysql-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services: services:
@ -514,6 +525,7 @@ steps:
- name: mysql-php7.2 - name: mysql-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services: services:
@ -546,6 +558,7 @@ steps:
- name: mysql-php7.3 - name: mysql-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services: services:
@ -578,6 +591,7 @@ steps:
- name: mysql5.6-php7.2 - name: mysql5.6-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services: services:
@ -612,6 +626,7 @@ steps:
- name: postgres-php7.3 - name: postgres-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize - sleep 10 # gives the database enough time to initialize
- POSTGRES=9 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql - POSTGRES=9 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -647,6 +662,7 @@ steps:
- name: postgres-php7.2 - name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize - sleep 10 # gives the database enough time to initialize
- POSTGRES=10 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql - POSTGRES=10 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -681,6 +697,7 @@ steps:
- name: postgres-php7.2 - name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize - sleep 10 # gives the database enough time to initialize
- POSTGRES=11 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql - POSTGRES=11 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -716,6 +733,7 @@ steps:
- name: mysqlmb4-php7.2 - name: mysqlmb4-php7.2
image: nextcloudci/php7.2:php7.2-13 image: nextcloudci/php7.2:php7.2-13
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4 - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
services: services:
@ -751,6 +769,7 @@ steps:
- name: mysqlmb4-php7.3 - name: mysqlmb4-php7.3
image: nextcloudci/php7.3:php7.3-4 image: nextcloudci/php7.3:php7.3-4
commands: commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4 - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
services: services:

View File

@ -8,6 +8,14 @@ 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 | 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 ".json" | grep -v "package.json" | grep -c -v "package-lock.json") -gt 0 ]] && echo "JSON files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".sh") -gt 0 ]] && echo "bash files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".yml") -gt 0 ]] && echo "YML files are modified" && 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 ".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 [[ $(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

25
tests/drone-run-php-tests.sh Executable file
View File

@ -0,0 +1,25 @@
#!/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 ".json" | grep -v "package.json" | grep -c -v "package-lock.json") -gt 0 ]] && echo "JSON files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".sh") -gt 0 ]] && echo "bash files are modified" && exit 0
[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".yml") -gt 0 ]] && echo "YML files are modified" && 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