Bump version for plugins db release. #209
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run all tests | |
# Run this workflow every time a new commit pushed to your repository | |
on: [push, pull_request] | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:10 | |
env: | |
POSTGRES_USER: 'postgres' | |
POSTGRES_HOST_AUTH_METHOD: 'trust' | |
# Health check to wait for postgres to start. | |
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: | |
php-versions: ['7.3', '7.4'] | |
database: ['pgsql', 'mariadb'] | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
with: | |
# Clone in plugin subdir, so we can setup CI in default directory. | |
path: plugin | |
- name: Install node | |
uses: actions/setup-node@v1 | |
with: | |
# TODO: Check if we can support .nvmrc | |
node-version: '14.15.0' | |
- name: Setup PHP environment | |
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: mbstring, pgsql, mysqli | |
tools: phpunit | |
- name: Deploy moodle-plugin-ci | |
run: | | |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3 | |
# Add dirs to $PATH | |
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 | |
- name: Install moodle-plugin-ci | |
# Need explicit IP to stop mysql client fail on attempt to use unix socket. | |
run: moodle-plugin-ci install -vvv --plugin ./plugin --db-host=127.0.0.1 | |
env: | |
DB: ${{ matrix.database }} | |
# TODO: Omitted MOODLE_BRANCH results in regex failure, investigate. | |
MOODLE_BRANCH: 'MOODLE_39_STABLE' | |
- name: Run phplint | |
if: ${{ always() }} | |
run: moodle-plugin-ci phplint | |
- name: Run phpcpd | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpcpd || true | |
- name: Run phpmd | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpmd | |
- name: Run codechecker | |
if: ${{ always() }} | |
run: moodle-plugin-ci codechecker | |
- name: Run validate | |
if: ${{ always() }} | |
run: moodle-plugin-ci validate | |
- name: Run savepoints | |
if: ${{ always() }} | |
run: moodle-plugin-ci savepoints | |
- name: Mustache Lint | |
if: ${{ always() }} | |
run: moodle-plugin-ci mustache | |
- name: Grunt | |
if: ${{ always() }} | |
run: moodle-plugin-ci grunt --max-lint-warnings 0 | |
- name: Run phpdoc | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpdoc | |
- name: Run phpunit | |
if: ${{ always() }} | |
run: | | |
moodle-plugin-ci phpunit | |
cd moodle | |
vendor/bin/phpunit --fail-on-risky --disallow-test-output --filter tool_dataprivacy_metadata_registry_testcase | |
vendor/bin/phpunit --fail-on-risky --disallow-test-output --testsuite core_privacy_testsuite --filter provider_testcase | |
- name: Run behat | |
if: ${{ always() }} | |
run: moodle-plugin-ci behat --profile chrome |