Skip to content

remove opencast references #1

remove opencast references

remove opencast references #1

Workflow file for this run

name: Moodle Plugin CI
########################################################################################################################
# Runs the Moodle Plugin CI workflow.
#
# Additional plugins may be required for this workflow to run, configurable with the inputs of this workflow
# the used branch included. The current branch is used if no branch is specified for a required plugin.
########################################################################################################################
env:
workflow_branch_name: ${{ github.head_ref || github.ref_name }}
is_moodle_plugin_ci_workflow: 1
########################################################################################################################
jobs:
setup_jobs:
runs-on: ubuntu-latest
outputs:
static_matrix: ${{ steps.calc-matrix.outputs.static_matrix }}
test_matrix: ${{ steps.calc-matrix.outputs.test_matrix }}
moodle_ci_version: ${{ steps.calc-matrix.outputs.moodle_plugin_ci }}
has_tests: ${{ steps.config.outputs.has_tests }}
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
path: plugin
- name: Read config.json
id: config
run: |
echo "has_tests=${{ hashFiles('plugin/tests') != '' }}" >> $GITHUB_OUTPUT
{
echo "content<<EOF"
cat plugin/.github/workflows/config.json
echo
echo EOF
} >> $GITHUB_OUTPUT
- name: Debug
run: |
echo "$GITHUB_ACTION_REPOSITORY"
echo "$GITHUB_WORKFLOW_REF"
- name: Generate Matrices
id: calc-matrix
uses: academic-moodle-cooperation/moodle-workflows/parse-matrix-action@main
with:
input: ${{ steps.config.outputs.content }}
static:
needs: setup_jobs
runs-on: ubuntu-latest
name: static
strategy:
matrix: ${{ fromJSON(needs.setup_jobs.outputs.static_matrix) }}
steps:
- name: Start MariaDB
run: docker run -p 3306:3306 -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=true -d mariadb:10
- 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 }}
ini-values: max_input_vars=5000
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(cd /home/runner/.composer && composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Composer cache
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-static-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-static-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/composer.lock') }}
- name: npm cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-static-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-static-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/package-lock.json') }}
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ${{ needs.setup_jobs.outputs.moodle_ci_version }}
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 --no-init
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
IGNORE_PATHS: 'vendor'
CODECHECKER_IGNORE_PATHS: 'vendor'
- name: PHP Lint
if: ${{ always() }}
run: moodle-plugin-ci phplint
- name: PHP Mess Detector
if: ${{ always() }}
run: moodle-plugin-ci phpmd
- name: Moodle Code Checker
if: ${{ always() }}
run: moodle-plugin-ci codechecker
- 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 100 # Dumb, but it seems like one warning is always generated
# because we have a third party file, which is ignored by default.
######################################################################################################################
test:
runs-on: ubuntu-latest
needs:
- setup_jobs
- static
if: ${{ needs.setup_jobs.outputs.has_tests == 'true' }}
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.setup_jobs.outputs.test_matrix) }}
steps:
- name: Start MariaDB
if: matrix.database == 'mariadb'
run: docker run -p 3306:3306 -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=true -d mariadb:10
- name: Start PostgreSQL
if: matrix.database == 'pgsql'
run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:14
- name: Start MySQL
if: matrix.database == 'mysqli'
run: docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true -d mysql:8.0
- 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 }}
ini-values: max_input_vars=5000
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(cd /home/runner/.composer && composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Composer cache
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-test-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-test-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/composer.lock') }}
- name: npm cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-test-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-test-${{ matrix.php }}-${{ matrix.moodle-branch }}-${{ matrix.database }}-${{ hashFiles('**/package-lock.json') }}
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ${{ needs.setup_jobs.outputs.moodle_ci_version }}
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
# Set behat timeout (is multiplied with 10 seconds).
moodle-plugin-ci add-config '$CFG->behat_increasetimeout = 6;'
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
- name: PHPUnit tests
if: ${{ always() }}
run: moodle-plugin-ci phpunit
- name: Behat features
if: ${{ always() }}
run: moodle-plugin-ci behat --auto-rerun 1
# This step allows to upload Behat faildump (screenshots) as workflow artifact,
# so it can be downloaded and inspected. You don't need this step if you
# are not running Behat test. Artifact will be retained for 7 days.
- 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