Merge pull request #19 from aneno-m-e/fix-t19-tests #38
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 | |
on: [push, pull_request] | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:12 | |
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 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- php: '7.2' | |
moodle-branch: 'MOODLE_39_STABLE' | |
database: 'pgsql' | |
- php: '7.4' | |
moodle-branch: 'MOODLE_310_STABLE' | |
database: 'pgsql' | |
- php: '7.4' | |
moodle-branch: 'MOODLE_311_STABLE' | |
database: 'pgsql' | |
- php: '7.4' | |
moodle-branch: 'MOODLE_400_STABLE' | |
database: 'pgsql' | |
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 }} | |
extensions: mbstring, pgsql | |
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: ${{ matrix.moodle-branch }} | |
- 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 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 |