Update draft-release.yml

This commit is contained in:
Anirudh Sevugan 2025-08-06 18:13:59 -05:00 committed by GitHub
parent 5366657a3f
commit 379fa1e9e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -22,11 +22,9 @@ jobs:
while true; do while true; do
echo "⏳ Checking artifacts..." echo "⏳ Checking artifacts..."
# Clean up and re-download artifacts each poll
rm -rf all-artifacts rm -rf all-artifacts
mkdir -p all-artifacts mkdir -p all-artifacts
# Download all available artifacts for this run
gh run download --dir all-artifacts || true gh run download --dir all-artifacts || true
missing=0 missing=0
@ -52,21 +50,26 @@ jobs:
run: | run: |
echo "🔍 Extracting ZIP files and collecting allowed SimpliPlay files..." echo "🔍 Extracting ZIP files and collecting allowed SimpliPlay files..."
# Extract all ZIPs to their own folder
find all-artifacts -type f -name '*.zip' | while read zipfile; do find all-artifacts -type f -name '*.zip' | while read zipfile; do
extract_dir="${zipfile%.zip}" extract_dir="${zipfile%.zip}"
echo "📦 Extracting $zipfile to $extract_dir" echo "📦 Extracting $zipfile to $extract_dir"
unzip -o "$zipfile" -d "$extract_dir" unzip -o "$zipfile" -d "$extract_dir"
done done
# Prepare list for upload-files.txt, only SimpliPlay* with allowed extensions
rm -f upload-files.txt rm -f upload-files.txt
find all-artifacts -type f \( -iname '*.exe' -o -iname '*.dmg' -o -iname '*.snap' -o -iname '*.AppImage' \) | \ find all-artifacts -type f \( -iname '*.exe' -o -iname '*.dmg' -o -iname '*.snap' -o -iname '*.AppImage' \) | grep 'SimpliPlay' > upload-files.txt
grep 'SimpliPlay' > upload-files.txt
echo "Filtered files to upload:" echo "Filtered files to upload:"
cat upload-files.txt cat upload-files.txt
- name: Create empty draft release
uses: softprops/action-gh-release@v2
with:
tag_name: "draft-${{ github.run_number }}"
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Rename files if duplicates exist on release - name: Rename files if duplicates exist on release
id: rename id: rename
run: | run: |
@ -75,7 +78,6 @@ jobs:
echo "Existing assets on release $release_tag:" echo "Existing assets on release $release_tag:"
echo "$existing_assets" echo "$existing_assets"
# Prepare a new upload list with renamed files if needed
rm -f upload-files-renamed.txt rm -f upload-files-renamed.txt
touch upload-files-renamed.txt touch upload-files-renamed.txt
@ -84,7 +86,6 @@ jobs:
dirname=$(basename $(dirname "$filepath")) dirname=$(basename $(dirname "$filepath"))
if echo "$existing_assets" | grep -qx "$filename"; then if echo "$existing_assets" | grep -qx "$filename"; then
# rename to avoid conflict, e.g., append source folder
extension="${filename##*.}" extension="${filename##*.}"
name="${filename%.*}" name="${filename%.*}"
newname="${name}-${dirname}.${extension}" newname="${name}-${dirname}.${extension}"
@ -101,11 +102,17 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Draft Release - name: Prepare files list for release
id: files-list
run: |
files=$(cat upload-files-renamed.txt | tr '\n' ' ')
echo "files=$files" >> $GITHUB_OUTPUT
- name: Upload assets to draft release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: "draft-${{ github.run_number }}" tag_name: "draft-${{ github.run_number }}"
draft: true draft: true
files: ${{ join(fromJSON(format('["%s"]', join(fromFile('upload-files-renamed.txt'), '","'))), ' ') }} files: ${{ steps.files-list.outputs.files }}
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}