18
18
contents : write
19
19
outputs :
20
20
release-id : ${{ steps.create-release.outputs.release_id }}
21
+ release-tag : ${{ steps.create-release.outputs.release_tag }}
21
22
release-flag : ${{ steps.set-release-flag.outputs.release_flag }}
22
23
pkg-name : ${{ steps.get-package-info.outputs.pkg_name }}
23
24
bin-name : ${{ steps.get-package-info.outputs.bin_name }}
47
48
echo "Latest Package Version: $latest_version"
48
49
version_exists=false
49
50
for version in $(echo "$versions" | jq -r '.[]'); do
50
- if [ "$version" == "$current_version" ]; then
51
+ trimmed=$(echo "$version" | awk '{$1=$1};1')
52
+ if [ "$trimmed" == "$current_version" ]; then
51
53
version_exists=true
52
54
break
53
55
fi
68
70
id : create-release
69
71
run : |
70
72
release_tag="v${{ env.pkg_version }}"
73
+ echo "release_tag=v${{ env.pkg_version }}" >> "$GITHUB_OUTPUT"
71
74
cargo_prerelease=("alpha" "beta" "rc")
72
75
prerelease=false
73
76
for cargo_pre in "${cargo_prerelease[@]}"; do
78
81
done
79
82
80
83
echo "Release Tag: $release_tag"
84
+ latest_tag=$(curl -s -L https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name)
81
85
commit_msg="$(git log -1 --pretty=%B | sed ':a;N;$!ba;s/\n/\\n/g')"
86
+ commit_msg+="\n**Full Changelog**: ${{ github.server_url }}/${{ github.repository }}/compare/$latest_tag...$release_tag"
82
87
release_data="{\"tag_name\":\"$release_tag\",\"name\":\"$release_tag\",\"body\":\"$commit_msg\",\"draft\":false,\"prerelease\":$prerelease}"
83
88
response=$(curl -X POST -H "Authorization: token ${{ secrets.GIT_TOKEN }}" \
84
89
-d "$release_data" \
@@ -117,7 +122,7 @@ jobs:
117
122
- release_for : macOS-arm64
118
123
os : darwin-arm64
119
124
bin : ${{ needs.release.outputs.bin-name }}
120
- name : ${{ needs.release.outputs.pkg-name }}-Darwin-x86_64 .tar.gz
125
+ name : ${{ needs.release.outputs.pkg-name }}-Darwin-arm64 .tar.gz
121
126
122
127
name : Upload asset for ${{ matrix.platform.release_for }}
123
128
if : needs.release.outputs.release-flag == 'true'
@@ -126,8 +131,20 @@ jobs:
126
131
contents : write
127
132
128
133
steps :
134
+ - name : Release ID Propagation
135
+ run : |
136
+ if [ -n "${{ needs.release.outputs.release-id }}" ]; then
137
+ echo "Release ID propagated: ${{ needs.release.outputs.release-id }}"
138
+ else
139
+ echo "Release ID propagation failed. Exiting.."
140
+ exit 1
141
+ fi
142
+ echo "start_time=$(date +%s)" >> "$GITHUB_ENV"
143
+ shell : bash
144
+
129
145
- name : Checkout Repo
130
146
uses : actions/checkout@v4
147
+
131
148
- name : Update Rust
132
149
# print it with style
133
150
run : |
@@ -205,6 +222,16 @@ jobs:
205
222
"https://uploads.github.com/repos/${{ github.repository }}/releases/${{ needs.release.outputs.release-id }}/assets?name=${{ matrix.platform.name }}"
206
223
shell : bash
207
224
225
+ - name : Runtime Analyzer
226
+ run : |
227
+ start=${{ env.start_time }}
228
+ end=$(date +%s)
229
+ time_taken=$((end-start))
230
+ url="${{ github.server_url }}/${{ github.repository }}/releases/download/${{ needs.release.outputs.release-tag }}/${{ matrix.platform.name }}"
231
+ hyperlink="[${{ matrix.platform.release_for }}]($url)"
232
+ echo "🚀 Built for $hyperlink in $time_taken seconds" >> $GITHUB_STEP_SUMMARY
233
+ shell : bash
234
+
208
235
publish-crate :
209
236
needs :
210
237
- release
0 commit comments