@@ -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