Skip to content

Commit b9586bf

Browse files
committed
Improve github release action
1 parent 3f9c2ee commit b9586bf

1 file changed

Lines changed: 32 additions & 139 deletions

File tree

.github/workflows/android.yml

Lines changed: 32 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ jobs:
303303
steps:
304304
- name: Checkout
305305
uses: actions/checkout@v4
306+
with:
307+
fetch-depth: 0
306308

307309
- name: Download APK Artifact
308310
uses: actions/download-artifact@v4.1.7
@@ -362,145 +364,36 @@ jobs:
362364
- name: List downloaded files (for debugging)
363365
run: ls -la
364366

365-
- name: Get DMG filename
366-
id: dmg
367-
run: echo "file=$(ls *.dmg | head -n1)" >> $GITHUB_OUTPUT
368-
369-
- name: Get MSI filename
370-
id: msi
371-
run: echo "file=$(ls *.msi | head -n1)" >> $GITHUB_OUTPUT
372-
373-
- name: Get DEB filename
374-
id: deb
375-
run: echo "file=$(ls *.deb | head -n1)" >> $GITHUB_OUTPUT
376-
377-
- name: Get RPM filename
378-
id: rpm
379-
run: echo "file=$(ls *.rpm | head -n1)" >> $GITHUB_OUTPUT
380-
381-
- name: Get AppImage filename
382-
id: appimage
383-
run: echo "file=$(ls *.AppImage | head -n1)" >> $GITHUB_OUTPUT
384-
385-
- name: Get version
386-
id: get_version
387-
run: echo "version=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
367+
- name: Extract changelog
368+
run: |
369+
VERSION="${GITHUB_REF_NAME#v}"
370+
if [ -f CHANGELOG.md ]; then
371+
sed -n "/^## v${VERSION}/,/^## v/{ /^## v${VERSION}/d; /^## v/d; p; }" CHANGELOG.md > changelog.txt
372+
fi
373+
if [ ! -s changelog.txt ]; then
374+
PREVIOUS_TAG=$(git tag --sort=-creatordate | grep -v "^${GITHUB_REF_NAME}$" | head -n1)
375+
if [ -z "$PREVIOUS_TAG" ]; then
376+
git log --pretty=format:"- %s" "${GITHUB_REF_NAME}" > changelog.txt
377+
else
378+
git log --pretty=format:"- %s" "${PREVIOUS_TAG}..${GITHUB_REF_NAME}" --no-merges > changelog.txt
379+
fi
380+
fi
381+
382+
- name: Rename assets
383+
run: |
384+
VERSION="${GITHUB_REF_NAME#v}"
385+
mv android-release-unsigned-signed.apk "LinuxCommandLibrary-${VERSION}-android.apk"
386+
mv *.dmg "LinuxCommandLibrary-${VERSION}-macos.dmg"
387+
mv *.msi "LinuxCommandLibrary-${VERSION}-windows.msi"
388+
mv *.deb "LinuxCommandLibrary-${VERSION}-linux.deb"
389+
mv *.rpm "LinuxCommandLibrary-${VERSION}-linux.rpm"
390+
mv *.AppImage "LinuxCommandLibrary-${VERSION}-linux.AppImage"
388391
389392
- name: Create Github Release
390-
id: create_release
391-
uses: actions/create-release@v1
392-
env:
393-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
393+
uses: softprops/action-gh-release@v2
394394
with:
395-
tag_name: ${{ github.ref }}
396-
release_name: Release ${{ github.ref }}
397-
398-
- name: Upload APK to Github Release
399-
uses: actions/upload-release-asset@v1.0.1
400-
env:
401-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
402-
with:
403-
upload_url: ${{ steps.create_release.outputs.upload_url }}
404-
asset_path: android-release-unsigned-signed.apk
405-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-android.apk
406-
asset_content_type: application/zip
407-
408-
- name: Upload CLI Linux x64 to Github Release
409-
uses: actions/upload-release-asset@v1.0.1
410-
env:
411-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
412-
with:
413-
upload_url: ${{ steps.create_release.outputs.upload_url }}
414-
asset_path: cli-linux-x64.zip
415-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-cli-linux-x64.zip
416-
asset_content_type: application/zip
417-
418-
- name: Upload CLI Linux arm64 to Github Release
419-
uses: actions/upload-release-asset@v1.0.1
420-
env:
421-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
422-
with:
423-
upload_url: ${{ steps.create_release.outputs.upload_url }}
424-
asset_path: cli-linux-arm64.zip
425-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-cli-linux-arm64.zip
426-
asset_content_type: application/zip
427-
428-
- name: Upload CLI macOS x64 to Github Release
429-
uses: actions/upload-release-asset@v1.0.1
430-
env:
431-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
432-
with:
433-
upload_url: ${{ steps.create_release.outputs.upload_url }}
434-
asset_path: cli-macos-x64.zip
435-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-cli-macos-x64.zip
436-
asset_content_type: application/zip
437-
438-
- name: Upload CLI macOS arm64 to Github Release
439-
uses: actions/upload-release-asset@v1.0.1
440-
env:
441-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
442-
with:
443-
upload_url: ${{ steps.create_release.outputs.upload_url }}
444-
asset_path: cli-macos-arm64.zip
445-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-cli-macos-arm64.zip
446-
asset_content_type: application/zip
447-
448-
- name: Upload CLI Windows x64 to Github Release
449-
uses: actions/upload-release-asset@v1.0.1
450-
env:
451-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
452-
with:
453-
upload_url: ${{ steps.create_release.outputs.upload_url }}
454-
asset_path: cli-windows-x64.zip
455-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-cli-windows-x64.zip
456-
asset_content_type: application/zip
457-
458-
- name: Upload DMG to Github Release
459-
uses: actions/upload-release-asset@v1.0.1
460-
env:
461-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
462-
with:
463-
upload_url: ${{ steps.create_release.outputs.upload_url }}
464-
asset_path: ${{ steps.dmg.outputs.file }}
465-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-macos.dmg
466-
asset_content_type: application/octet-stream
467-
468-
- name: Upload MSI to Github Release
469-
uses: actions/upload-release-asset@v1.0.1
470-
env:
471-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
472-
with:
473-
upload_url: ${{ steps.create_release.outputs.upload_url }}
474-
asset_path: ${{ steps.msi.outputs.file }}
475-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-windows.msi
476-
asset_content_type: application/octet-stream
477-
478-
- name: Upload DEB to Github Release
479-
uses: actions/upload-release-asset@v1.0.1
480-
env:
481-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
482-
with:
483-
upload_url: ${{ steps.create_release.outputs.upload_url }}
484-
asset_path: ${{ steps.deb.outputs.file }}
485-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-linux.deb
486-
asset_content_type: application/octet-stream
487-
488-
- name: Upload RPM to Github Release
489-
uses: actions/upload-release-asset@v1.0.1
490-
env:
491-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
492-
with:
493-
upload_url: ${{ steps.create_release.outputs.upload_url }}
494-
asset_path: ${{ steps.rpm.outputs.file }}
495-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-linux.rpm
496-
asset_content_type: application/octet-stream
497-
498-
- name: Upload AppImage to Github Release
499-
uses: actions/upload-release-asset@v1.0.1
500-
env:
501-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
502-
with:
503-
upload_url: ${{ steps.create_release.outputs.upload_url }}
504-
asset_path: ${{ steps.appimage.outputs.file }}
505-
asset_name: LinuxCommandLibrary-${{ steps.get_version.outputs.version }}-linux.AppImage
506-
asset_content_type: application/octet-stream
395+
name: Release ${{ github.ref_name }}
396+
body_path: changelog.txt
397+
files: |
398+
LinuxCommandLibrary-*
399+
cli-*.zip

0 commit comments

Comments
 (0)