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'