From 96c93c40966e59e18f7c0a924a4b7e937863e9a5 Mon Sep 17 00:00:00 2001 From: Luuk Verhoeven Date: Tue, 26 Sep 2023 13:24:54 +0200 Subject: [PATCH] Add CI workflows --- .github/workflows/ci.yml | 133 +++++---------------------------------- 1 file changed, 14 insertions(+), 119 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b5e85df..4f5f845 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,123 +1,18 @@ -name: Moodle Plugin CI +# .github/workflows/ci.yml +name: ci -on: [ push, pull_request ] +on: [push, pull_request] jobs: test: - runs-on: ubuntu-18.04 - - services: - postgres: - image: postgres:10 - env: - POSTGRES_USER: 'postgres' - POSTGRES_HOST_AUTH_METHOD: 'trust' - ports: - - 5432:5432 - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3 - mariadb: - image: mariadb:10.5 - env: - MYSQL_USER: 'root' - MYSQL_ALLOW_EMPTY_PASSWORD: "true" - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3 - - strategy: - fail-fast: false - matrix: - include: - - php: '7.4' - moodle-branch: 'MOODLE_311_STABLE' - database: pgsql - - php: '7.4' - moodle-branch: 'MOODLE_310_STABLE' - database: mariadb - - php: '7.3' - moodle-branch: 'MOODLE_39_STABLE' - database: pgsql - - steps: - - name: Check out repository code - uses: actions/checkout@v2 - with: - path: plugin - - - name: Setup PHP ${{ matrix.php }} - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: ${{ matrix.extensions }} - ini-values: max_input_vars=5000 - coverage: none - - - name: Initialise moodle-plugin-ci - run: | - composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3 - echo $(cd ci/bin; pwd) >> $GITHUB_PATH - echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH - sudo locale-gen en_AU.UTF-8 - echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV - - - 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: PHP Lint - if: ${{ always() }} - run: moodle-plugin-ci phplint - - - name: PHP Copy/Paste Detector - continue-on-error: true # This step will show errors but will not fail - if: ${{ always() }} - run: moodle-plugin-ci phpcpd - - - name: PHP Mess Detector - continue-on-error: true # This step will show errors but will not fail - if: ${{ always() }} - run: moodle-plugin-ci phpmd - - - name: Moodle Code Checker - if: ${{ always() }} - run: moodle-plugin-ci codechecker --max-warnings 0 - - - name: Moodle PHPDoc Checker - if: ${{ always() }} - run: moodle-plugin-ci phpdoc - - - name: Validating - if: ${{ always() }} - run: moodle-plugin-ci validate - - - name: Check upgrade savepoints - if: ${{ always() }} - run: moodle-plugin-ci savepoints - - - name: Mustache Lint - if: ${{ always() }} - run: moodle-plugin-ci mustache - - - name: Grunt - continue-on-error: true # This step will show errors but will not fail - if: ${{ always() }} - run: moodle-plugin-ci grunt --max-lint-warnings 0 - - - name: PHPUnit tests - if: ${{ always() }} - run: moodle-plugin-ci phpunit - - - name: Core privacy tests - if: ${{ always() }} - run: | - cd moodle - php admin/tool/phpunit/cli/init.php - vendor/bin/phpunit --fail-on-risky --disallow-test-output -v --filter tool_dataprivacy_metadata_registry_testcase - vendor/bin/phpunit --fail-on-risky --disallow-test-output -v --filter provider_testcase - - - name: Behat features - if: ${{ always() }} - run: moodle-plugin-ci behat --profile chrome + uses: catalyst/catalyst-moodle-workflows/.github/workflows/ci.yml@main + secrets: + # Required if you plan to publish (uncomment the below) + moodle_org_token: ${{ secrets.MOODLE_ORG_TOKEN }} + with: + # Grunt fails due to CSS styling, when needing an !important statement. + disable_grunt: false + disable_phpunit: true + disable_release : true + release_branches: main + min_php : 7.4 \ No newline at end of file