From 6f56691fa2fb2d895f3c7152a2023beb61cdddc7 Mon Sep 17 00:00:00 2001 From: Phil Tyler Date: Fri, 11 Aug 2023 12:16:33 -0700 Subject: [PATCH] move lint and validate behat --- .circleci/config.yml | 21 +--------------- .github/workflows/lint-test.yml | 19 ++++++++++++++ bin/validate-fixture-version.sh | 44 +++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 20 deletions(-) create mode 100644 bin/validate-fixture-version.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 8397ee6..ca10c87 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,6 @@ version: 2.1 workflows: main: jobs: - - lint - test-behat - test-phpunit-redis-disabled-74 - test-phpunit-redis-enabled-74 @@ -58,25 +57,6 @@ commands: bash bin/install-wp-tests.sh wordpress_test root '' 127.0.0.1 nightly true composer phpunit jobs: - lint: - working_directory: ~/pantheon-systems/wp-redis - docker: - - image: quay.io/pantheon-public/build-tools-ci:8.x-php8.0 - steps: - - checkout - - restore_cache: - keys: - - test-lint-dependencies-{{ checksum "composer.json" }} - - run: composer install -n --prefer-dist - - save_cache: - key: test-lint-dependencies-{{ checksum "composer.json" }} - paths: - - vendor - - run: - name: "Run PHP Lint" - command: | - composer phpcs - test-behat: working_directory: ~/pantheon-systems/wp-redis parallelism: 1 @@ -117,6 +97,7 @@ jobs: exit 0 fi terminus auth:login --machine-token=$TERMINUS_TOKEN + - run: ./bin/validate-fixture-version.sh - run: ./bin/behat-prepare.sh - run: ./bin/behat-test.sh --strict - run: diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index 9b7f282..772baea 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -9,6 +9,25 @@ jobs: - name: Checkout uses: actions/checkout@v3 - uses: pantheon-systems/validate-readme-spacing@v1 + lint: + name: PHPCS Linting + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: ~/vendor + key: test-lint-dependencies-{{ checksum "composer.json" }} + restore-keys: test-lint-dependencies-{{ checksum "composer.json" }} + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + - name: Install dependencies + run: composer install -n --prefer-dist + - name: Run PHP Lint + run: composer phpcs wporg-validation: name: WP.org Validator runs-on: ubuntu-latest diff --git a/bin/validate-fixture-version.sh b/bin/validate-fixture-version.sh new file mode 100644 index 0000000..f369b8d --- /dev/null +++ b/bin/validate-fixture-version.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +main(){ + export TERMINUS_HIDE_GIT_MODE_WARNING=1 + local DIRNAME=$(dirname "$0") + + if [ -z "${TERMINUS_SITE}" ]; then + echo "TERMINUS_SITE environment variable must be set" + exit 1 + fi + + if ! terminus whoami > /dev/null; then + if [ -z "${TERMINUS_TOKEN}" ]; then + echo "TERMINUS_TOKEN environment variable must be set or terminus already logged in." + exit 1 + fi + terminus auth:login --machine-token="${TERMINUS_TOKEN}" + fi + + + # Use find to locate the file with a case-insensitive search + README_FILE_PATH=$(find ${DIRNAME}/.. -iname "readme.txt" -print -quit) + if [[ -z "$README_FILE_PATH" ]]; then + echo "readme.txt not found." + exit 1 + fi + + local TESTED_UP_TO + TESTED_UP_TO=$(grep -i "Tested up to:" "${README_FILE_PATH}" | tr -d '\r\n' | awk -F ': ' '{ print $2 }') + echo "Tested Up To: ${TESTED_UP_TO}" + local FIXTURE_VERSION + FIXTURE_VERSION=$(terminus wp "${TERMINUS_SITE}.dev" -- core version) + echo "Fixture Version: ${FIXTURE_VERSION}" + + if ! php -r "exit(version_compare('${TESTED_UP_TO}', '${FIXTURE_VERSION}'));"; then + echo "${FIXTURE_VERSION} is less than ${TESTED_UP_TO}" + echo "Please update ${TERMINUS_SITE} to at least WordPress ${TESTED_UP_TO}" + exit 1 + fi +} + +main