Fix Discord text truncation

Joseph T. Lyons created

Change summary

.github/workflows/release_actions.yml | 36 ++++++++++++----------------
1 file changed, 15 insertions(+), 21 deletions(-)

Detailed changes

.github/workflows/release_actions.yml 🔗

@@ -6,34 +6,28 @@ jobs:
   discord_release:
     runs-on: ubuntu-latest
     steps:
-    - name: Get appropriate URL
-      id: get-appropriate-url
+    - name: Get release URL
+      id: get-release-url
       run: |
         if [ "${{ github.event.release.prerelease }}" == "true" ]; then
-          url="https://zed.dev/releases/preview/latest"
+          URL="https://zed.dev/releases/preview/latest"
         else
-          url="https://zed.dev/releases/stable/latest"
-        fi
-        echo "::set-output name=url::$url"
-
-    - name: Prepare release content
-      id: prepare-content
-      run: |
-        set -eu
-
-        text="📣 Zed ${{ github.event.release.tag_name }} was just released!\n\nRestart your Zed or head to ${{ steps.get-appropriate-url.outputs.URL }} to grab it.\n\n${{ github.event.release.body }}"
-
-        maxTextLength=2000
-        truncationIndicator="..."
-
-        if (( ${#text} > maxTextLength )); then
-            text=${text:0:maxTextLength - ${#truncationIndicator}}$truncationIndicator
+          URL="https://zed.dev/releases/stable/latest"
         fi
+        echo "::set-output name=URL::$URL"
+    - name: Get content
+      uses: 2428392/gh-truncate-string-action@v1.2.0
+      id: get-content
+      with:
+        stringToTruncate: |
+          📣 Zed ${{ github.event.release.tag_name }} was just released!
 
-        echo "::set-output name=content::$text"
+          Restart your Zed or head to ${{ steps.get-release-url.outputs.URL }} to grab it.
 
+          ${{ github.event.release.body }}
+        maxLength: 2000
     - name: Discord Webhook Action
       uses: tsickert/discord-webhook@v5.3.0
       with:
         webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
-        content: ${{ steps.prepare-content.outputs.content }}
+        content: ${{ steps.get-content.outputs.string }}