Skip to content

Commit

Permalink
Let's run the integration tests using the generated PHAR
Browse files Browse the repository at this point in the history
It's enough to run the tests once per supported PHP version.
  • Loading branch information
stronk7 committed Sep 15, 2023
1 parent f9c7381 commit 170f55a
Showing 1 changed file with 81 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,84 @@ jobs:
run: |
make build
php build/moodle-plugin-ci.phar list
phartest:
name: Integration tests (PHAR)
needs: buildphar
runs-on: ubuntu-22.04

services:
postgres:
image: postgres:13
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:
# Each supported PHP version once. That's enough.
- php: '8.2'
moodle-branch: 'master'
- php: '8.1'
moodle-branch: 'MOODLE_402_STABLE'
- php: '8.0'
moodle-branch: 'MOODLE_401_STABLE'
- php: '7.4'
moodle-branch: 'MOODLE_400_STABLE'

steps:
- name: Check out repository code
uses: actions/checkout@v3

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: pgsql, zip, gd, xmlrpc, soap
ini-values: max_input_vars=5000
coverage: pcov

- name: Initialise moodle-plugin-ci
run: |
make init
cp -R tests/Fixture/moodle-local_ci ../moodle-local_ci
echo $(cd bin; pwd) >> $GITHUB_PATH
echo $(cd vendor/bin; pwd) >> $GITHUB_PATH
echo "CI_BUILD_DIR="$(cd ../moodle-local_ci; pwd) >> $GITHUB_ENV
# PHPUnit depends on en_AU.UTF-8 locale
sudo locale-gen en_AU.UTF-8
# Define NVM_DIR pointing to nvm installation.
echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV
- name: Install moodle-plugin-ci (PHAR)
run: build/moodle-plugin-ci.phar install -vvv
env:
DB: 'pgsql'
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
IGNORE_PATHS: 'ignore'
IGNORE_NAMES: 'ignore_name.php'
MUSTACHE_IGNORE_NAMES: 'broken.mustache'

- name: Run Integration tests (PHAR)
env:
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
run: |
build/moodle-plugin-ci.phar phplint
build/moodle-plugin-ci.phar phpcpd
build/moodle-plugin-ci.phar phpmd
build/moodle-plugin-ci.phar phpcs
build/moodle-plugin-ci.phar phpcbf
build/moodle-plugin-ci.phar validate
build/moodle-plugin-ci.phar savepoints
build/moodle-plugin-ci.phar mustache
build/moodle-plugin-ci.phar grunt
build/moodle-plugin-ci.phar phpdoc
build/moodle-plugin-ci.phar phpunit --verbose --coverage-text --fail-on-warning
build/moodle-plugin-ci.phar behat --profile default
build/moodle-plugin-ci.phar behat --profile chrome

0 comments on commit 170f55a

Please sign in to comment.