Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update & Upgrade #7

Merged
merged 14 commits into from
Jan 16, 2025
11 changes: 11 additions & 0 deletions .github/workflows/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"main-moodle": "MOODLE_405_STABLE",
"main-php": "8.3",
"main-oc": "16.7",
"ocs": [],
"main-db": "mariadb",
"moodle-php": {
"MOODLE_405_STABLE": ["8.1", "8.2"]
},
"moodle-plugin-ci": "4.4.5"
}
15 changes: 15 additions & 0 deletions .github/workflows/config_all.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"main-moodle": "MOODLE_405_STABLE",
"main-php": "8.3",
"main-oc": "16.7",
"ocs": [],
"main-db": "mariadb",
"moodle-php": {
"MOODLE_401_STABLE": ["7.4", "8.0", "8.1"],
"MOODLE_402_STABLE": ["8.0", "8.1", "8.2"],
"MOODLE_403_STABLE": ["8.0", "8.1", "8.2"],
"MOODLE_404_STABLE": ["8.1", "8.2", "8.3"],
"MOODLE_405_STABLE": ["8.1", "8.2", "8.3"]
},
"moodle-plugin-ci": "4.4.5"
}
186 changes: 12 additions & 174 deletions .github/workflows/moodle-ci.yml
Original file line number Diff line number Diff line change
@@ -1,179 +1,17 @@
name: Moodle Plugin CI

on: [push, pull_request]
########################################################################################################################

jobs:
static:
runs-on: ubuntu-latest
name: static on (${{ matrix.moodle-branch }}/${{ matrix.php }}/${{ matrix.database }})

services:
postgres:
image: postgres:14
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

strategy:
fail-fast: false
matrix:
php: ['7.4']
moodle-branch: ['MOODLE_400_STABLE']
database: [pgsql]

steps:
- name: Check out repository code
uses: actions/checkout@v3
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
coverage: none

- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: node-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-cache
restore-keys: |
node-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-cache

- name: Initialise moodle-plugin-ci
run: composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3

- name: Export moodle-plugin-ci pathes
run: |
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 }}

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

- name: PHP Copy/Paste Detector
continue-on-error: true # This step will show errors but will not fail
if: ${{ always() }}
run: moodle-plugin-ci phpcpd

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

- name: Moodle Code Checker
if: ${{ always() }}
run: moodle-plugin-ci phpcs --max-warnings 0
on: [ push, pull_request ]

- name: Moodle PHPDoc Checker
if: ${{ always() }}
run: moodle-plugin-ci phpdoc
########################################################################################################################

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

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

- name: Mustache Lint
if: ${{ always() }}
run: moodle-plugin-ci mustache

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

tests:
runs-on: ubuntu-latest
needs: static
name: test (${{ matrix.moodle-branch }}/${{ matrix.php }}/${{ matrix.database }})
services:
postgres:
image: postgres:14
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: mariadb:10
env:
MYSQL_USER: 'root'
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_CHARACTER_SET_SERVER: "utf8mb4"
MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci"

ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3
strategy:
fail-fast: false
matrix:
php: ['7.4', '8.0'] # by the time of writtig this 8.1 is not yet supported by block_opencast
moodle-branch: ['MOODLE_310_STABLE', 'MOODLE_311_STABLE', 'MOODLE_400_STABLE', 'MOODLE_401_STABLE']
database: ['mariadb', 'pgsql']
exclude:
- moodle-branch: 'MOODLE_310_STABLE'
php: '8.0'
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
path: plugin

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: max_input_vars=5000
coverage: none

- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: node-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-cache
restore-keys: |
node-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-cache

- name: Initialise moodle-plugin-ci
run: composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3

- name: Export moodle-plugin-ci pathes
run: |
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 add-plugin --branch master Opencast-Moodle/moodle-tool_opencast
moodle-plugin-ci add-plugin --branch master Opencast-Moodle/moodle-block_opencast
moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}

- name: Behat features
if: ${{ always() }}
run: moodle-plugin-ci behat --auto-rerun 0
jobs:
call-moodle-ci-workflow:
uses: Opencast-Moodle/moodle-workflows-opencast/.github/workflows/moodle-ci.yml@main
with:
requires-tool-plugin: true
requires-block-plugin: true
branch-tool-plugin: main
branch-block-plugin: main
branch-opencast-docker-default: 16.7
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@
- Compatibility for Moodle v4.0 and v4.1 and Moodle Opencast Plugins v4.0-r1
- Added support for privacy policy (null)
- Improved UI/UX by adding clearer labels for the dropdowns

### v4.5-r1
- new moodle coding styles! e.g. array() to [], lang sorting, etc.
- core namespace changes: core_component to \core\component
- use LTI credentials from Opencast API tool plugin!
- Use the opencast API library instead of pure curl calls if necessary!
- Support for OC 16 more in the area of either eliminating the use of search endpoint or making it (backward) compatible.
- Upgrade behat test!
- Use the latest moodle ci workflows!
4 changes: 1 addition & 3 deletions ajax.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
use local_och5pcore\local\video_manager;
use local_och5pcore\local\opencast_manager;
use core_h5p\factory;
use moodle_exception;
use context_course;

define('AJAX_SCRIPT', true);
require(__DIR__ . '/../../config.php');
Expand Down Expand Up @@ -76,7 +74,7 @@
die;
}

$data = array();
$data = [];

switch ($action) {
case 'courseVideos':
Expand Down
Loading
Loading