From ecc0eabbe39d021a7050c633f75af84d1e62195b Mon Sep 17 00:00:00 2001 From: Felix Althaus Date: Tue, 30 Jul 2024 13:38:08 +0200 Subject: [PATCH] [FEATURE] Add shellcheck to Github pipeline Fixes #1398 --- .github/workflows/ci.yml | 10 ++++++++++ Build/Scripts/runTests.sh | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9441451..41007fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -313,6 +313,16 @@ jobs: - typo3-version: "^12.4" php-version: "8.3" composer-dependencies: highest + shellcheck: + name: Check shell scripts + runs-on: ubuntu-24.04 + timeout-minutes: 2 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Check scripts + run: | + Build/Scripts/runTests.sh -s shellcheck documentation: name: Documentation runs-on: ubuntu-24.04 diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh index 4a3868b..01ccc0b 100755 --- a/Build/Scripts/runTests.sh +++ b/Build/Scripts/runTests.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # -# TYPO3 core test runner based on docker. +# TYPO3 extension tea test runner based on docker. # trap 'cleanUp;exit 2' SIGINT @@ -446,6 +446,7 @@ mkdir -p .Build/public/typo3temp/var/tests IMAGE_PHP="ghcr.io/typo3/core-testing-$(echo "php${PHP_VERSION}" | sed -e 's/\.//'):latest" IMAGE_NODE="docker.io/node:${NODE_VERSION}-alpine" IMAGE_ALPINE="docker.io/alpine:3.8" +IMAGE_SHELLCHECK="koalaman/shellcheck:latest" IMAGE_DOCS="ghcr.io/typo3-documentation/render-guides:latest" IMAGE_MARIADB="docker.io/mariadb:${DBMS_VERSION}" IMAGE_MYSQL="docker.io/mysql:${DBMS_VERSION}" @@ -539,6 +540,10 @@ case ${TEST_SUITE} in ${CONTAINER_BIN} run ${CONTAINER_INTERACTIVE} --rm --pull always ${USERSET} -v "${ROOT_DIR}":/project ${IMAGE_DOCS} --config=Documentation --fail-on-log SUITE_EXIT_CODE=$? ;; + shellcheck) + ${CONTAINER_BIN} run ${CONTAINER_INTERACTIVE} --rm --pull always ${USERSET} -v "${ROOT_DIR}":/project:ro -e SHELLCHECK_OPTS="-e SC2086" ${IMAGE_SHELLCHECK} /project/Build/Scripts/runTests.sh + SUITE_EXIT_CODE=$? + ;; functional) [ -z "${TEST_FILE}" ] && TEST_FILE="Tests/Functional" COMMAND=".Build/bin/phpunit -c Build/phpunit/FunctionalTests.xml --exclude-group not-${DBMS} ${EXTRA_TEST_OPTIONS} ${TEST_FILE}"