Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
name: Releasing in the Plugins directory
2
 
3
on:
4
  push:
5
    tags:
6
      - v*
7
 
8
  workflow_dispatch:
9
    inputs:
10
      tag:
11
        description: 'Tag to be released'
12
        required: true
13
 
14
defaults:
15
  run:
16
    shell: bash
17
 
18
jobs:
19
  release-at-moodle-org:
20
    runs-on: ubuntu-latest
21
    env:
22
      PLUGIN: enrol_coursecompleted
23
      CURL: curl -s
24
      ENDPOINT: https://moodle.org/webservice/rest/server.php
25
      TOKEN: ${{ secrets.MOODLE_ORG_TOKEN }}
26
      FUNCTION: local_plugins_add_version
27
 
28
    steps:
29
      - name: Call the service function
30
        id: add-version
31
        run: |
32
          if [[ ! -z "${{ github.event.inputs.tag }}" ]]; then
33
            TAGNAME="${{ github.event.inputs.tag }}"
34
          elif [[ $GITHUB_REF = refs/tags/* ]]; then
35
            TAGNAME="${GITHUB_REF##*/}"
36
          fi
37
          if [[ -z "${TAGNAME}" ]]; then
38
            echo "No tag name has been provided!"
39
            exit 1
40
          fi
41
          ZIPURL="https://api.github.com/repos/${{ github.repository }}/zipball/${TAGNAME}"
42
          RESPONSE=$(${CURL} ${ENDPOINT} --data-urlencode "wstoken=${TOKEN}" \
43
                                         --data-urlencode "wsfunction=${FUNCTION}" \
44
                                         --data-urlencode "moodlewsrestformat=json" \
45
                                         --data-urlencode "frankenstyle=${PLUGIN}" \
46
                                         --data-urlencode "zipurl=${ZIPURL}" \
47
                                         --data-urlencode "vcssystem=git" \
48
                                         --data-urlencode "vcsrepositoryurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" \
49
                                         --data-urlencode "vcstag=${TAGNAME}" \
50
                                         --data-urlencode "changelogurl=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commits/${TAGNAME}" \
51
                                         --data-urlencode "altdownloadurl=${ZIPURL}")
52
          echo "response=${RESPONSE}" >> $GITHUB_OUTPUT
53
      - name: Evaluate the response
54
        id: evaluate-response
55
        env:
56
          RESPONSE: ${{ steps.add-version.outputs.response }}
57
        run: |
58
          jq <<< ${RESPONSE}
59
          jq --exit-status ".id" <<< ${RESPONSE} > /dev/null