diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0829d5c2081fd4f1fa2d20604499cc61e68f5d6..014eb93a30e8a05d265989b8b5090752a0f2843e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,7 +27,7 @@ Make All Images: script: - make -test: +Test Sonar Scanner: stage: test tags: - dockerd @@ -35,6 +35,14 @@ test: - docker run --rm its-registry.unl.edu/unl-its/docker-ci/static-code-analysis sonar-scanner -v - docker run --rm -v "${PWD}:/work" -w /work its-registry.unl.edu/unl-its/docker-ci/detect-secrets -s +Test PHP Lint: + stage: test + tags: + - linux, dockerd + script: + - t/php-lint/tests.sh + + Push to Container Registry: after_script: - rm -f /var/lib/gitlab-runner/.docker/config.json diff --git a/php-lint/php-lint b/php-lint/php-lint index afb52f2337d64b0c7e1b97b4daf665909e744329..c14a4f3fc19d134c1aa02ad0396eee672b40d423 100644 --- a/php-lint/php-lint +++ b/php-lint/php-lint @@ -51,8 +51,8 @@ for dir in "${LINT_DIRS[@]}"; do echo "Scanning directory ${dir} for extension ${ext}" # Scan current dir and ext and lint them - for f in $(find "${dir}" -type f -name "*${ext}"); do - OUTPUT=$(php -l $f 2>&1) + find "${dir}" -type f -name "*${ext}" -print0 | while IFS= read -r -d '' f; do + OUTPUT=$(php -l "$f" 2>&1) rc=$? if [[ $rc != 0 ]]; then # Non-zero exit code, print error and exit diff --git a/php-unit-test/7.1/Dockerfile b/php-unit-test/7.1/Dockerfile index 63ce09cb3f9dc803d13341d5a6edeab378b2c7cd..43734cacb69357d313dcd9c877a57ed4e1312e64 100644 --- a/php-unit-test/7.1/Dockerfile +++ b/php-unit-test/7.1/Dockerfile @@ -12,9 +12,10 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.schema-version="1.0" \ maintainer="Alan Nelson <alan.nelson@nebraska.edu>" -RUN apk add --no-cache bash nodejs nodejs-npm $PHPIZE_DEPS \ - && pecl install xdebug \ - && docker-php-ext-enable xdebug \ +RUN apk add --no-cache bash nodejs nodejs-npm libmcrypt-dev $PHPIZE_DEPS \ + && pecl install xdebug redis \ + && docker-php-ext-enable xdebug redis \ + && docker-php-ext-install mcrypt \ && apk del --no-cache $PHPIZE_DEPS RUN curl -o /usr/local/bin/composer https://getcomposer.org/composer.phar \ && chmod 755 /usr/local/bin/composer diff --git a/php-unit-test/7.2/Dockerfile b/php-unit-test/7.2/Dockerfile index 97bdcd162a98ea51fc46b6bc3885aff7b827d710..7edf64a73c851ef23929c0231ca831f6f20d9883 100644 --- a/php-unit-test/7.2/Dockerfile +++ b/php-unit-test/7.2/Dockerfile @@ -13,8 +13,8 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ maintainer="Alan Nelson <alan.nelson@nebraska.edu>" RUN apk add --no-cache bash nodejs nodejs-npm $PHPIZE_DEPS \ - && pecl install xdebug \ - && docker-php-ext-enable xdebug \ + && pecl install xdebug redis \ + && docker-php-ext-enable xdebug redis \ && apk del --no-cache $PHPIZE_DEPS RUN curl -o /usr/local/bin/composer https://getcomposer.org/composer.phar \ && chmod 755 /usr/local/bin/composer diff --git a/static-code-analysis/Dockerfile b/static-code-analysis/Dockerfile index a6524d42c39d6bbb06d00fb2c08cc0ea0baf8cce..6424a9a967b991036d409e58d05d2ac88686022b 100644 --- a/static-code-analysis/Dockerfile +++ b/static-code-analysis/Dockerfile @@ -12,7 +12,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.schema-version="1.0" \ maintainer="J.R. Barreras <barreras@unl.edu>" -ENV SONAR_SCANNER_VERSION 3.3.0.1492 +ENV SONAR_SCANNER_VERSION 4.0.0.1744 WORKDIR /opt diff --git a/static-code-analysis/android/Dockerfile b/static-code-analysis/android/Dockerfile index 7ec3ab9376c38e78432e870652708fffa1ede442..3857f6347c71f14dde0d235b831ea3721e183b15 100644 --- a/static-code-analysis/android/Dockerfile +++ b/static-code-analysis/android/Dockerfile @@ -12,7 +12,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.schema-version="1.0" \ maintainer="Alan Nelson <alan.nelson@nebraska.edu>" -ENV SONAR_SCANNER_VERSION 3.2.0.1227 +ENV SONAR_SCANNER_VERSION 4.0.0.1744 ENV SONAR_HOME /opt/sonar-scanner ENV PATH ${PATH}:${SONAR_HOME} diff --git a/t/php-lint/tests.sh b/t/php-lint/tests.sh new file mode 100755 index 0000000000000000000000000000000000000000..08283421813abcaec43229d0b5b83ae5dd8e3684 --- /dev/null +++ b/t/php-lint/tests.sh @@ -0,0 +1,14 @@ +TMP_DIR=`mktemp -d` +chmod 777 ${TMP_DIR} +touch "${TMP_DIR}/dumb php file with spaces.php" +touch "${TMP_DIR}/ddumb_php_file_without_spaces.php" +touch "${TMP_DIR}/$(printf '\u03c0').php" +docker run --rm -v "${TMP_DIR}:/work" its-registry.unl.edu/unl-its/docker-ci/php-lint:latest php-lint -d /work +RET=$? +rm -rf ${TMP_DIR} +if [ $RET -eq 0 ]; then + echo "PASS"; +else + echo "FAIL"; +fi +exit $RES