From c01d9bf4eebd5349c43aa756017592b4a7a8c11a Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Wed, 13 Dec 2023 09:16:38 +0000 Subject: [PATCH] Updated Moodle plugin CI config --- .github/workflows/ci.yml | 82 +++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2634621..5fbaa0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,22 +8,25 @@ jobs: fail-fast: false matrix: include: - - php: '7.4' + - php: '8.0' moodle-branch: 'master' database: 'pgsql' + - php: '8.1' + moodle-branch: 'MOODLE_402_STABLE' + database: 'pgsql' + - php: '8.0' + moodle-branch: 'MOODLE_401_STABLE' + database: 'pgsql' - php: '7.4' - moodle-branch: 'MOODLE_311_STABLE' + moodle-branch: 'MOODLE_400_STABLE' database: 'mariadb' - - php: '7.3' - moodle-branch: 'MOODLE_310_STABLE' + - php: '7.4' + moodle-branch: 'MOODLE_311_STABLE' database: 'pgsql' - - php: '7.2' - moodle-branch: 'MOODLE_39_STABLE' - database: 'mariadb' services: postgres: - image: postgres:10 + image: postgres:13 env: POSTGRES_USER: 'postgres' POSTGRES_HOST_AUTH_METHOD: 'trust' @@ -36,82 +39,85 @@ jobs: - 5432:5432 mariadb: - image: mariadb:10.5 + image: mariadb:10 env: MYSQL_USER: 'root' MYSQL_ALLOW_EMPTY_PASSWORD: "true" + MYSQL_CHARACTER_SET_SERVER: "utf8mb4" + MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci" ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3 steps: - - name: Checkout - uses: actions/checkout@v2 + - name: Check out out repository code + uses: actions/checkout@v3 with: path: plugin - - name: Install node - uses: actions/setup-node@v1 - with: - node-version: '14.15.0' - - - name: Setup PHP + - name: Setup PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} - extensions: mbstring, pgsql, mysqli + extensions: ${{ matrix.extensions }} + ini-values: max_input_vars=5000 + coverage: none - - name: Deploy moodle-plugin-ci + - name: Initialise moodle-plugin-ci run: | - composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3 - # Add dirs to $PATH + composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4 echo $(cd ci/bin; pwd) >> $GITHUB_PATH echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH - # PHPUnit depends on en_AU.UTF-8 locale sudo locale-gen en_AU.UTF-8 + echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV - - name: Install Moodle - run: moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1 + - name: Install moodle-plugin-ci + run: | + moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1 env: DB: ${{ matrix.database }} MOODLE_BRANCH: ${{ matrix.moodle-branch }} - - name: phplint + - name: PHP Lint if: ${{ always() }} run: moodle-plugin-ci phplint - - name: phpcpd + - name: PHP Copy/Paste Detector if: ${{ always() }} run: moodle-plugin-ci phpcpd - - name: phpmd + - name: PHP Mess Detector if: ${{ always() }} run: moodle-plugin-ci phpmd - - name: codechecker + - name: Moodle Code Checker + if: ${{ always() }} + run: moodle-plugin-ci phpcs --max-warnings 0 + + - name: Moodle PHPDoc Checker if: ${{ always() }} - run: moodle-plugin-ci codechecker + run: moodle-plugin-ci phpdoc - - name: validate + - name: Validating if: ${{ always() }} run: moodle-plugin-ci validate - - name: savepoints + - name: Check upgrade savepoints if: ${{ always() }} run: moodle-plugin-ci savepoints - - name: mustache + - name: Mustache Lint if: ${{ always() }} run: moodle-plugin-ci mustache - - name: grunt - if: ${{ matrix.moodle-branch != 'master' }} - run: moodle-plugin-ci grunt + - name: Grunt + if: ${{ matrix.moodle-branch == 'MOODLE_402_STABLE' }} + run: moodle-plugin-ci grunt --max-lint-warnings 0 - - name: phpunit + - name: PHPUnit tests if: ${{ always() }} - run: moodle-plugin-ci phpunit + run: moodle-plugin-ci phpunit --fail-on-warning - - name: behat + - name: Behat features if: ${{ always() }} run: moodle-plugin-ci behat --profile chrome