Lines Matching +full:dokuwiki +full:- +full:release
1 # ------------------------------------------------------------------------------------------
2 # This is a workflow to release this project as a zipped installable artifact.
3 # Release version numbering and release notes generation is following standards defined by:
7 # https://common-changelog.org
9 # Note: Since DokuWiki is using version numbering in format YYYY-MM-DD we use this numbering
11 # The git tag names have to use a 'v' as prefix to the DokuWiki version number.
13 # ------------------------------------------------------------------------------------------
14 name: Build a release
19 # Here we use the DokuWiki conform version number pattern.
22 ['v[0-9]+-[0-9]+-[0-9]+']
32 runs-on: ubuntu-latest
36 - run: |
37 …"The selected git ref=${{ github.ref }} is NOT a valid release tag. Please select a valid release …
40 # Create a release
41 release:
42 name: Release
44 runs-on: ubuntu-latest
47 APP_NAME: dokuwiki-plugin-gitbacked
55 - name: Log use case if triggered manually
61 - name: Log use case if triggered by push
67 - name: Checkout
71 - name: Prepare Version Tags
73 … #echo "MAJOR_VERSION=$(echo ${GITHUB_REF/refs\/tags\//} | awk -F'-' '{print $1}')" >> $GITHUB_ENV
74 …#echo "MINOR_VERSION=$(echo ${GITHUB_REF/refs\/tags\//} | awk -F'-' '{print $1"-"$2}')" >> $GITHUB…
75 …#echo "FULL_VERSION=$(echo ${GITHUB_REF/refs\/tags\//} | awk -F'-' '{print $1"-"$2"-"$3}')" >> $GI…
78 …echo "APP_INFO_VERSION=$(sed -n -E 's/^${{ env.APP_INFO_FILE_VERSION_KEY }}[ \t]+([0-9-]+).*/\1/p'…
80 # Validate app info version and set release name
81 - name: Validate app info version and set release name
84 …echo "Mismatch of release version=${{ env.RELEASE_VERSION }} and application info version=${{ env.…
88 echo "RELEASE_NAME=Release ${{ env.APP_INFO_VERSION }}" >> $GITHUB_ENV
90 - name: Validate CHANGELOG.md for this release version
101 … # Extract the release notes for this RELEASE_VERSION including the line of the previous version:
103 …RELEASE_NOTES_WITH_PREV_VERSION=$(sed -e "${SED_VERSION_BEGIN_PATTERN},${SED_VERSION_END_PATTERN} …
104 echo ">>>>>> RELEASE_NOTES_WITH_PREV_VERSION - BEGIN >>>>>>"
106 echo "<<<<<< RELEASE_NOTES_WITH_PREV_VERSION - END <<<<<<"
108 # Format the release notes:
110 # 1. Remove last 2 lines: head -n 2
111 # 2. Remove any empty line from the end: sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'
114 …_NOTES=$(echo "$RELEASE_NOTES_WITH_PREV_VERSION" | head -n -2 | sed -e :a -e '/^\n*$/{$d;N;ba' -e …
115 #echo "${RELEASE_VERSION_NOTES}" >> RELEASE.md
116 #printf "\n" >> RELEASE.md
118 # Extract previous release version:
120 # 1. Cut the last line only: tail -1
121 # 2. Get the version from the enclosing [] brackets: awk -F "[][]" '{ print $2 }'
123 …PREV_RELEASE_VERSION=$(echo "$RELEASE_NOTES_WITH_PREV_VERSION" | tail -1 | awk -F "[][]" '{ print …
124 if [ -z "$PREV_RELEASE_VERSION" ]; then
131 if ! grep -q "^## \\[${{ env.RELEASE_VERSION }}\\]" CHANGELOG.md; then
133 …echo "ERROR: CHANGELOG.md does not contain an entry for this release version of format: ## [${{ en…
135 … if ! grep -q "^\\[${{ env.RELEASE_VERSION }}\\]: ${EXPECTED_COMPARE_URL}" CHANGELOG.md; then
144 # Prepare release notes and build directory
145 - name: Prepare release notes and build directory
153 # Format the filename of this release
154 - name: Format release filename
157 echo "FILE_NAME=${{ env.APP_NAME }}-${{ env.APP_INFO_VERSION }}.zip" >> $GITHUB_OUTPUT
160 - name: Build release archive
161 uses: GHCICD/zip-release@master
167 # Create release notes by release-notes-from-changelog
168 - name: Create release notes by GHCICD/release-notes-from-changelog@v1
169 uses: GHCICD/release-notes-from-changelog@v1
172 working-directory: ${{ env.BUILD_DIR }}
174 - name: Log RELEASE.md
176 echo ">>>>> build/RELEASE.md:"
177 cat ${{ env.BUILD_DIR }}/RELEASE.md
183 # Create release with info from CHANGELOG.md
184 - name: Create GitHub release by ncipollo/release-action@v1
186 uses: ncipollo/release-action@v1
191 bodyFile: ${{ env.BUILD_DIR }}/RELEASE.md