Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
152 changes: 5 additions & 147 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,149 +1,7 @@
name: Learningmap Github actions

name: Moodle Plugin CI
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest

services:
postgres:
image: ${{ matrix.database == 'pgsql' && 'postgres:17' || '' }}
env:
POSTGRES_USER: 'postgres'
POSTGRES_HOST_AUTH_METHOD: 'trust'
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3

mariadb:
image: ${{ matrix.database == 'mariadb' && 'mariadb:11' || '' }}
env:
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: '1'
MYSQL_CHARACTER_SET_SERVER: "utf8mb4"
MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci"
ports:
- 3306:3306
options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval 10s --health-timeout 5s --health-retries 3

strategy:
fail-fast: false
matrix:
include:
- php: '8.4'
moodle-branch: 'main'
database: 'mariadb'
- php: '8.4'
moodle-branch: 'main'
database: 'pgsql'
- php: '8.4'
moodle-branch: 'MOODLE_502_STABLE'
database: 'mariadb'
- php: '8.4'
moodle-branch: 'MOODLE_502_STABLE'
database: 'pgsql'
- php: '8.4'
moodle-branch: 'MOODLE_501_STABLE'
database: 'mariadb'
- php: '8.4'
moodle-branch: 'MOODLE_501_STABLE'
database: 'pgsql'
- php: '8.4'
moodle-branch: 'MOODLE_500_STABLE'
database: 'mariadb'
- php: '8.4'
moodle-branch: 'MOODLE_500_STABLE'
database: 'pgsql'
- php: '8.3'
moodle-branch: 'MOODLE_405_STABLE'
database: 'mariadb'
- php: '8.3'
moodle-branch: 'MOODLE_405_STABLE'
database: 'pgsql'
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
path: plugin

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ${{ matrix.extensions }}
ini-values: max_input_vars=5000
# If you are not using code coverage, keep "none". Otherwise, use "pcov" (Moodle 3.10 and up) or "xdebug".
# If you try to use code coverage with "none", it will fallback to phpdbg (which has known problems).
coverage: none

- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
sudo locale-gen en_AU.UTF-8
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
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
# Uncomment this to run Behat tests using the Moodle App.
# MOODLE_APP: 'true'

- name: PHP Lint
if: ${{ !cancelled() }}
run: moodle-plugin-ci phplint

- name: PHP Mess Detector
continue-on-error: true # This step will show errors but will not fail
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpmd

- name: Moodle Code Checker
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpcs --max-warnings 5

- name: Moodle PHPDoc Checker
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpdoc --max-warnings 0

- name: Validating
if: ${{ !cancelled() }}
run: moodle-plugin-ci validate

- name: Check upgrade savepoints
if: ${{ !cancelled() }}
run: moodle-plugin-ci savepoints

- name: Mustache Lint
continue-on-error: true # This step will show errors but will not fail
if: ${{ !cancelled() }}
run: moodle-plugin-ci mustache

- name: Grunt
if: ${{ !cancelled() }}
run: moodle-plugin-ci grunt --max-lint-warnings 0

- name: PHPUnit tests
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpunit --fail-on-warning

# - name: Behat features
# 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
ci:
uses: bycs-lp/moodle-ci-workflows/.github/workflows/moodle-plugin-ci.yml@main
with:
mustache-continue-on-error: true
10 changes: 4 additions & 6 deletions .github/workflows/moodle-release.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
name: Moodle Plugin Release

on:
release:
types: [ published ]

types: [published]
jobs:
call-moodle-release-workflow:
uses: bycs-lp/moodle-workflows/.github/workflows/moodle-release.yml@main
release:
uses: bycs-lp/moodle-ci-workflows/.github/workflows/moodle-release.yml@main
with:
plugin-name: 'mod_learningmap'
tag: ${{ github.event.release.tag_name }}
secrets: inherit
Loading