Skip to content

Commit 2b2444f

Browse files
authored
Merge pull request #24 from code-with-amirhossein/amir78729-patch-25
Update deploy.yml
2 parents 2215dbd + 0312c7f commit 2b2444f

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

.github/workflows/deploy.yml

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
name: Deploy & Announce Release
22

33
on:
4-
# Runs on pushes to the `main` branch
54
push:
65
branches: [main]
76

8-
# Allow manual triggering from the Actions tab
97
workflow_dispatch:
108

11-
# Permissions needed for GitHub Pages deployment
129
permissions:
1310
contents: read
1411
pages: write
1512
id-token: write
1613

17-
# Prevent overlapping deploys
1814
concurrency:
1915
group: pages
2016
cancel-in-progress: false
@@ -26,7 +22,7 @@ jobs:
2622
- name: ☁️ Checkout repository
2723
uses: actions/checkout@v4
2824
with:
29-
fetch-depth: 0 # Needed for full commit history (e.g. for changelogs)
25+
fetch-depth: 0
3026

3127
- name: 🔧 Setup pnpm
3228
uses: pnpm/action-setup@v3
@@ -79,18 +75,17 @@ jobs:
7975
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8076
REPO: ${{ github.repository }}
8177
run: |
82-
# Fetch latest merged PR to main
8378
curl -s -H "Authorization: token $GH_TOKEN" \
8479
"https://api.github.com/repos/$REPO/pulls?state=closed&base=main&sort=updated&direction=desc&per_page=1" \
8580
-o pr.json
8681
87-
# Extract relevant fields
8882
PR_NUMBER=$(grep '"number":' pr.json | head -n 1 | awk '{print $2}' | tr -d ',')
8983
PR_TITLE=$(grep '"title":' pr.json | head -n 1 | cut -d ':' -f2- | sed 's/^ "//;s/",$//')
9084
PR_URL=$(grep '"html_url":' pr.json | head -n 1 | cut -d '"' -f4)
91-
sed -n '/"body":/,$p' pr.json | sed '1s/.*"body": "//; s/",$//' > pr_body.md
85+
PR_BODY=$(awk -F'"body": "' '{print $2}' pr.json | sed 's/",$//')
86+
87+
echo "$PR_BODY" > pr_body.md
9288
93-
# Export to env
9489
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
9590
echo "PR_TITLE=$PR_TITLE" >> $GITHUB_ENV
9691
echo "PR_URL=$PR_URL" >> $GITHUB_ENV
@@ -99,17 +94,17 @@ jobs:
9994
id: extract
10095
run: |
10196
REPO="https://github.com/${{ github.repository }}"
102-
103-
# Extract lines starting with '## ' from PR body (i.e., package names)
10497
grep '^## ' pr_body.md | sed 's/^## //' > packages.txt
10598
106-
# Generate Telegram HTML links to each released package
107-
while read -r line; do
108-
ENCODED_TAG=$(printf "%s" "$line" | jq -sRr @uri)
109-
echo " • <a href=\"$REPO/releases/tag/$ENCODED_TAG\">$line</a>"
110-
done < packages.txt > release_links.html
99+
if [ -s packages.txt ]; then
100+
while read -r line; do
101+
ENCODED_TAG=$(printf "%s" "$line" | jq -sRr @uri)
102+
echo " • <a href=\"$REPO/releases/tag/$ENCODED_TAG\">$line</a>"
103+
done < packages.txt > release_links.html
104+
else
105+
echo " • No packages found." > release_links.html
106+
fi
111107
112-
# Export formatted list to env
113108
{
114109
echo "RELEASE_LINKS<<EOF"
115110
cat release_links.html
@@ -123,7 +118,7 @@ jobs:
123118
token: ${{ secrets.TELEGRAM_TOKEN }}
124119
format: html
125120
message: |
126-
🚀 <b><a href="https://github.com/${{ github.repository }}">${{ github.repository }}</a></b> was just released!\n
127-
📦 <b>Released Packages:</b>\n
128-
${{ env.RELEASE_LINKS }}\n
129-
🔗 PR: <a href="${{ env.PR_URL }}"><b>${{ env.PR_TITLE }}</b> #${{ env.PR_NUMBER }}</a>
121+
🚀 <b><a href="https://github.com/${{ github.repository }}">${{ github.repository }}</a></b> was just released!
122+
<b>Released Packages:</b>
123+
${{ env.RELEASE_LINKS }}
124+
🔗 <a href="${{ env.PR_URL }}"><b>${{ env.PR_TITLE }}</b> #${{ env.PR_NUMBER }}</a>

0 commit comments

Comments
 (0)