-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
31 additions
and
22 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,13 +19,13 @@ jobs: | |
strategy: | ||
fail-fast: false | ||
matrix: | ||
php: ['8.0'] | ||
moodle-branch: ['MOODLE_403_STABLE'] | ||
php: ['8.1'] | ||
moodle-branch: ['MOODLE_404_STABLE'] | ||
database: [pgsql] | ||
|
||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
with: | ||
path: plugin | ||
|
||
|
@@ -48,15 +48,16 @@ jobs: | |
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 | ||
run: moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1 | ||
env: | ||
DB: ${{ matrix.database }} | ||
MOODLE_BRANCH: ${{ matrix.moodle-branch }} | ||
# Uncomment this to run Behat tests using the Moodle App. | ||
# MOODLE_APP: 'true' | ||
IGNORE_PATHS: 'tests/fixtures/' | ||
|
||
- name: PHP Lint | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci phplint | ||
|
||
- name: PHP Copy/Paste Detector | ||
|
@@ -66,51 +67,59 @@ jobs: | |
|
||
- name: PHP Mess Detector | ||
continue-on-error: true # This step will show errors but will not fail | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci phpmd | ||
|
||
- name: Moodle Code Checker | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci phpcs --max-warnings 0 | ||
|
||
- name: Moodle PHPDoc Checker | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci phpdoc --max-warnings 0 | ||
|
||
- name: Validating | ||
continue-on-error: true # AMOS has its own tables prefixed with 'amos' instead of 'local_amos' for legacy reasons. | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci validate | ||
|
||
- name: Check upgrade savepoints | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci savepoints | ||
|
||
- name: Mustache Lint | ||
# Some validation warnings are unavoidable as individual templates may not be fully valid HTML (e.g. table rows). | ||
continue-on-error: true | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci mustache | ||
|
||
- name: Grunt | ||
if: ${{ always() }} | ||
run: moodle-plugin-ci grunt --tasks=compile --max-lint-warnings 0 | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci grunt --max-lint-warnings 0 | ||
|
||
- name: PHPUnit tests | ||
if: ${{ always() }} | ||
if: ${{ !cancelled() }} | ||
# AMOS runs git as a part of unit tests. | ||
run: | | ||
git config --global user.name "Github Runner" | ||
git config --global user.email "[email protected]" | ||
moodle-plugin-ci phpunit --fail-on-warning | ||
- name: Privacy tests | ||
if: ${{ always() }} | ||
run: | | ||
cd moodle | ||
vendor/bin/phpunit --fail-on-risky --disallow-test-output -v admin/tool/dataprivacy/tests/metadata_registry_test.php | ||
vendor/bin/phpunit --fail-on-risky --disallow-test-output -v privacy/tests/privacy/provider_test.php | ||
- name: Behat features | ||
if: ${{ always() }} | ||
id: behat | ||
if: ${{ !cancelled() }} | ||
run: moodle-plugin-ci behat --profile chrome | ||
|
||
- name: Upload Behat Faildump | ||
if: ${{ failure() && steps.behat.outcome == 'failure' }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: Behat Faildump (${{ join(matrix.*, ', ') }}) | ||
path: ${{ github.workspace }}/moodledata/behat_dump | ||
retention-days: 7 | ||
if-no-files-found: ignore | ||
|
||
- name: Mark cancelled jobs as failed. | ||
if: ${{ cancelled() }} | ||
run: exit 1 |