diff options
author | Morris Jobke <hey@morrisjobke.de> | 2020-10-30 13:06:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-30 13:06:50 +0100 |
commit | f94af85749f1c98564c7b4f503a13309a24595fb (patch) | |
tree | e31130528af990248425699d633b03db5366f5f3 | |
parent | 9b54a4adeaad9900e3ed90ef19396f8467000051 (diff) | |
parent | 8a3d9e52e3fc2200e04cd57ec3ea2d5ce713cb8a (diff) | |
download | nextcloud-server-f94af85749f1c98564c7b4f503a13309a24595fb.tar.gz nextcloud-server-f94af85749f1c98564c7b4f503a13309a24595fb.zip |
Merge pull request #23788 from nextcloud/techdebt/noid/only-run-phpunit-when-php-changed
Only run phpunit when "php" changed
-rw-r--r-- | .drone.yml | 21 | ||||
-rwxr-xr-x | tests/drone-run-integration-tests.sh | 8 | ||||
-rwxr-xr-x | tests/drone-run-php-tests.sh | 25 |
3 files changed, 54 insertions, 0 deletions
diff --git a/.drone.yml b/.drone.yml index cadcc0d45a9..aa718998203 100644 --- a/.drone.yml +++ b/.drone.yml @@ -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: diff --git a/tests/drone-run-integration-tests.sh b/tests/drone-run-integration-tests.sh index 9da224ccbad..af3c7a895c8 100755 --- a/tests/drone-run-integration-tests.sh +++ b/tests/drone-run-integration-tests.sh @@ -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 | 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 "^build/integration/") -gt 0 ]] && echo "Integration test files are modified" && exit 0 diff --git a/tests/drone-run-php-tests.sh b/tests/drone-run-php-tests.sh new file mode 100755 index 00000000000..c51117a21d2 --- /dev/null +++ b/tests/drone-run-php-tests.sh @@ -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 |