From f61a2cfb9d2888f57a84476ddc2e5c98ea4878e7 Mon Sep 17 00:00:00 2001
From: Matthias Kollenbroich <matthias.kollenbroich@uni-muenster.de>
Date: Wed, 3 May 2023 16:13:13 +0200
Subject: [PATCH] Updated workflows

---
 .github/workflows/moodle-ci.yml      | 97 +++-------------------------
 .github/workflows/moodle-release.yml | 54 +++-------------
 2 files changed, 17 insertions(+), 134 deletions(-)

diff --git a/.github/workflows/moodle-ci.yml b/.github/workflows/moodle-ci.yml
index 5617b51..6f0fd15 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 c269301..c061179 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'
-- 
GitLab