User Interface Branch merge to dev #46
Workflow file for this run
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 on push and on pull_request. | |
on: [push, pull_request] | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:9.6 | |
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 | |
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: 'master' | |
- 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: Run mustache | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpcpd | |
- name: Run grunt | |
if: ${{ always() }} | |
run: moodle-plugin-ci grunt | |
- name: Run phpdoc | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpdoc | |
- name: Run phpunit | |
if: ${{ always() }} | |
run: moodle-plugin-ci phpunit |