Skip to content

Commit fa4980e

Browse files
authored
update
1 parent 1891ff9 commit fa4980e

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed
Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,57 @@
1-
name: Zip Folders and Upload to GitHub Release
1+
name: Zip Folders and Upload to Release
22

33
on:
44
workflow_dispatch:
55

66
jobs:
7-
zip-and-upload:
7+
zip-and-release:
88
runs-on: ubuntu-latest
99

1010
steps:
11-
- name: Checkout repository
11+
- name: Checkout code
1212
uses: actions/checkout@v4
1313

14-
- name: Find folders and zip them
15-
id: zip
14+
- name: Zip each folder (excluding .github and README.md)
1615
run: |
1716
mkdir -p zip_outputs
1817
for dir in */ ; do
1918
if [[ "$dir" != ".github/" && -d "$dir" ]]; then
2019
name="${dir%/}"
21-
echo "Zipping $name..."
20+
echo "Zipping $name"
2221
zip -r "zip_outputs/${name}.zip" "$name" -x "$name/README.md"
2322
fi
2423
done
2524
2625
- name: Get latest release tag
2726
id: get_release
2827
run: |
29-
tag=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
30-
echo "Latest tag is: $tag"
28+
tag=$(gh release list --limit 1 --json tagName -q '.[0].tagName' || echo "")
29+
if [[ -z "$tag" ]]; then
30+
tag="auto-zip-$(date +%Y%m%d-%H%M%S)"
31+
echo "No existing release. Creating new release with tag $tag"
32+
gh release create "$tag" --title "Auto Zip Release $tag" --notes "Auto-generated zip files"
33+
else
34+
echo "Found existing release tag: $tag"
35+
fi
3136
echo "tag=$tag" >> $GITHUB_OUTPUT
3237
env:
3338
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3439

35-
- name: Upload zip files to latest release
40+
- name: Ensure 'latest' release exists
41+
run: |
42+
if ! gh release view latest &>/dev/null; then
43+
echo "Creating 'latest' release"
44+
gh release create latest --title "Latest Auto Zip" --notes "Auto-generated zip files (latest)"
45+
fi
46+
env:
47+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
49+
- name: Upload zip files to releases
3650
run: |
3751
for file in zip_outputs/*.zip; do
52+
echo "Uploading $file to tag: ${{ steps.get_release.outputs.tag }} and 'latest'"
3853
gh release upload "${{ steps.get_release.outputs.tag }}" "$file" --clobber
39-
gh release upload "latest" "$file" --clobber || true
54+
gh release upload "latest" "$file" --clobber
4055
done
4156
env:
4257
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)