diff --git a/.github/workflows/moodle-ci.yml b/.github/workflows/moodle-ci.yml
index 5617b512802456e4e00b1e2241989d0d78e24da0..6f0fd1521b237739385da2e8b1c22a6b83fa2f14 100644
--- a/.github/workflows/moodle-ci.yml
+++ b/.github/workflows/moodle-ci.yml
@@ -1,93 +1,14 @@
name: Moodle Plugin CI
-on: [push, pull_request]
-
-jobs:
- static:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- php: ['7.4']
- moodle-branch: ['MOODLE_39_STABLE', 'MOODLE_310_STABLE', 'MOODLE_311_STABLE', 'master']
- database: ['pgsql']
-
- steps:
- - name: Start PostgreSQL
- run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:9.6
-
- - name: Check out repository code
- uses: actions/checkout@v2
- with:
- path: plugin
-
- - name: Setup PHP ${{ matrix.php }}
- uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php }}
- coverage: none
-
- - name: Get composer cache directory
- id: composer-cache
- run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- - name: Composer cache
- uses: actions/cache@v2
- with:
- path: ${{ steps.composer-cache.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
- restore-keys: |
- ${{ runner.os }}-composer-
- - name: npm cache
- uses: actions/cache@v2
- with:
- path: ~/.npm
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- restore-keys: |
- ${{ runner.os }}-node-
- - name: Initialise moodle-plugin-ci
- run: |
- composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
- 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 Opencast-Moodle/moodle-tool_opencast
- moodle-plugin-ci add-plugin Opencast-Moodle/moodle-mod_opencast
- moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1 --no-init
- env:
- DB: ${{ matrix.database }}
- MOODLE_BRANCH: ${{ matrix.moodle-branch }}
+########################################################################################################################
- - name: PHP Lint
- if: ${{ always() }}
- run: moodle-plugin-ci phplint
-
- - name: PHP Copy/Paste Detector
- if: ${{ always() }}
- run: moodle-plugin-ci phpcpd
-
- - name: PHP Mess Detector
- if: ${{ always() }}
- run: moodle-plugin-ci phpmd
-
- - name: Moodle Code Checker
- if: ${{ always() }}
- run: moodle-plugin-ci codechecker --max-warnings 5
-
- - name: Moodle PHPDoc Checker
- if: ${{ always() }}
- run: moodle-plugin-ci phpdoc
-
- - name: Validating
- if: ${{ always() }}
- run: moodle-plugin-ci validate
+on: [push, pull_request]
- - name: Check upgrade savepoints
- if: ${{ always() }}
- run: moodle-plugin-ci savepoints
+########################################################################################################################
- - name: Mustache Lint
- if: ${{ always() }}
- run: moodle-plugin-ci mustache
\ No newline at end of file
+jobs:
+ call-moodle-ci-workflow:
+ uses: Opencast-Moodle/moodle-workflows-opencast/.github/workflows/moodle-ci.yml@master
+ with:
+ requires-tool-plugin: true
+ requires-mod-plugin: true
diff --git a/.github/workflows/moodle-release.yml b/.github/workflows/moodle-release.yml
index c269301aa17665648cb8d5755a794b03687add17..c061179756ca06787245ab5b5b3df117a10b3d10 100644
--- a/.github/workflows/moodle-release.yml
+++ b/.github/workflows/moodle-release.yml
@@ -1,53 +1,15 @@
-#
-# Whenever a new tag starting with "v" is pushed, add the tagged version
-# to the Moodle Plugins directory at https://moodle.org/plugins
-#
-# Changed to be released on Github release with the release notes.
-#
-name: Releasing in the Plugins directory
+name: Moodle Plugin Release
+
+########################################################################################################################
on:
release:
types: [published]
-defaults:
- run:
- shell: bash
+########################################################################################################################
jobs:
- release-at-moodle-org:
- runs-on: ubuntu-latest
- env:
- PLUGIN: filter_opencast
- CURL: curl -s
- ENDPOINT: https://moodle.org/webservice/rest/server.php
- TOKEN: ${{ secrets.MOODLE_ORG_TOKEN }}
- FUNCTION: local_plugins_add_version
-
- steps:
- - name: Call the service function
- id: add-version
- run: |
- TAGNAME="${{ github.event.release.tag_name }}"
- BODY="${{ github.event.release.body }}"
- ZIPURL="${{ github.event.release.zipball_url }}"
- RESPONSE=$(${CURL} ${ENDPOINT} --data-urlencode "wstoken=${TOKEN}" \
- --data-urlencode "wsfunction=${FUNCTION}" \
- --data-urlencode "moodlewsrestformat=json" \
- --data-urlencode "frankenstyle=${PLUGIN}" \
- --data-urlencode "zipurl=${ZIPURL}" \
- --data-urlencode "vcssystem=git" \
- --data-urlencode "vcsrepositoryurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" \
- --data-urlencode "vcstag=${TAGNAME}" \
- --data-urlencode "changelogurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commits/${TAGNAME}" \
- --data-urlencode "altdownloadurl=${ZIPURL}" \
- --data-urlencode "releasenotes=${BODY}" \
- --data-urlencode "releasenotesformat=4")
- echo "response=${RESPONSE}" >> $GITHUB_OUTPUT
- - name: Evaluate the response
- id: evaluate-response
- env:
- RESPONSE: ${{ steps.add-version.outputs.response }}
- run: |
- jq <<< ${RESPONSE}
- jq --exit-status ".id" <<< ${RESPONSE} > /dev/null
+ call-moodle-release-workflow:
+ uses: Opencast-Moodle/moodle-workflows-opencast/.github/workflows/moodle-release.yml@master
+ with:
+ plugin-name: 'filter_opencast'