Pārlūkot izejas kodu

Release with GH actions

DarthSim 3 gadi atpakaļ
vecāks
revīzija
5483efe27c
1 mainītis faili ar 31 papildinājumiem un 0 dzēšanām
  1. 31 0
      .github/workflows/release.yml

+ 31 - 0
.github/workflows/release.yml

@@ -0,0 +1,31 @@
+name: Release
+
+on:
+  push:
+    tags:
+      - 'v[0-9]+.[0-9]+.[0-9]+*'
+
+jobs:
+  release:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: Prepare notes
+        run: |
+          # Extract changelog entries between this and previous version headers
+          escaped_version=$(echo ${GITHUB_REF_NAME#v} | sed -e 's/[]\/$*.^[]/\\&/g')
+          awk "BEGIN{inrelease=0} /## \[${escaped_version}\]/{inrelease=1;next} /## \[[0-9]+\.[0-9]+\.[0-9]+.*\]/{inrelease=0;exit} {if (inrelease) print}" CHANGELOG.md \
+            > RELEASE_NOTES.txt
+
+          # Write PRERELEASE="true" env if tag name has any suffix after vMAJOR.MINOR.PATCH
+          if [[ ${GITHUB_REF_NAME} =~ ^v[0-9]+\.[0-9]+\.[0-9]+.+ ]]; then
+            echo 'PRERELEASE="true"' >> $GITHUB_ENV
+          else
+            echo 'PRERELEASE="false"' >> $GITHUB_ENV
+          fi
+      - name: Release
+        uses: softprops/action-gh-release@v1
+        with:
+          body_path: RELEASE_NOTES.txt
+          prerelease: ${{ fromJSON(env.PRERELEASE) }}