1
- name : Zip and Upload Folders
1
+ name : Zip and Upload Folders with GITHUB_TOKEN
2
2
3
3
on :
4
4
workflow_dispatch :
@@ -21,19 +21,24 @@ jobs:
21
21
fi
22
22
done
23
23
24
- - name : Find latest release tag
25
- id : get_release
24
+ - name : Get upload URL of release with tag 'latest'
25
+ id : get_upload_url
26
26
run : |
27
- tag=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
28
- echo "Found latest release: $tag"
29
- echo "tag=$tag" >> "$GITHUB_OUTPUT"
30
- env :
31
- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
27
+ api_url="https://api.github.com/repos/${{ github.repository }}/releases/tags/latest"
28
+ response=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "$api_url")
32
29
33
- - name : Upload zip files to latest release
30
+ upload_url=$(echo "$response" | jq -r .upload_url | sed -e "s/{?name,label}//")
31
+ echo "Upload URL: $upload_url"
32
+ echo "upload_url=$upload_url" >> "$GITHUB_OUTPUT"
33
+
34
+ - name : Upload zip files using GitHub API
34
35
run : |
35
36
for file in zip_outputs/*.zip; do
36
- gh release upload "${{ steps.get_release.outputs.tag }}" "$file" --clobber
37
+ filename=$(basename "$file")
38
+ echo "Uploading $filename..."
39
+ curl -s -X POST \
40
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
41
+ -H "Content-Type: application/zip" \
42
+ --data-binary @"$file" \
43
+ "${{ steps.get_upload_url.outputs.upload_url }}?name=$filename"
37
44
done
38
- env :
39
- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments