Skip to content

Commit 4f95b47

Browse files
authored
Merge pull request #2 from DesterLib/dev
Merge - Dev to Main
2 parents cb1e423 + b93de5c commit 4f95b47

2 files changed

Lines changed: 59 additions & 163 deletions

File tree

.github/workflows/build-release.yml

Lines changed: 59 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -377,14 +377,40 @@ jobs:
377377
build-windows,
378378
]
379379
runs-on: ubuntu-latest
380-
if: startsWith(github.ref, 'refs/tags/v')
380+
# Create releases for: version tags OR main/master branch pushes
381+
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
381382

382383
permissions:
383384
contents: write
384385

385386
steps:
386387
- name: Checkout code
387388
uses: actions/checkout@v4
389+
with:
390+
fetch-depth: 0 # Fetch all history for proper versioning
391+
392+
- name: Generate release version
393+
id: version
394+
run: |
395+
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
396+
# For tags, use the tag name
397+
VERSION="${GITHUB_REF#refs/tags/}"
398+
IS_PRERELEASE=false
399+
if [[ "$VERSION" == *"beta"* ]] || [[ "$VERSION" == *"alpha"* ]]; then
400+
IS_PRERELEASE=true
401+
fi
402+
else
403+
# For main/master branch, create development release
404+
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
405+
SHORT_SHA=$(git rev-parse --short HEAD)
406+
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
407+
VERSION="dev-${BRANCH_NAME}-${SHORT_SHA}-${TIMESTAMP}"
408+
IS_PRERELEASE=true
409+
fi
410+
echo "version=${VERSION}" >> $GITHUB_OUTPUT
411+
echo "is_prerelease=${IS_PRERELEASE}" >> $GITHUB_OUTPUT
412+
echo "Release version: ${VERSION}"
413+
echo "Is prerelease: ${IS_PRERELEASE}"
388414
389415
- name: Download all artifacts
390416
uses: actions/download-artifact@v4
@@ -397,34 +423,55 @@ jobs:
397423
- name: Prepare release assets
398424
run: |
399425
mkdir -p release-assets
426+
VERSION="${{ steps.version.outputs.version }}"
400427
401428
# Android APKs
402-
cp artifacts/android-apk/app-arm64-v8a-release.apk release-assets/Dester-Android-arm64-v8a.apk || true
403-
cp artifacts/android-apk/app-armeabi-v7a-release.apk release-assets/Dester-Android-armeabi-v7a.apk || true
404-
cp artifacts/android-apk/app-x86_64-release.apk release-assets/Dester-Android-x86_64.apk || true
429+
cp artifacts/android-apk/app-arm64-v8a-release.apk release-assets/Dester-${VERSION}-Android-arm64-v8a.apk || true
430+
cp artifacts/android-apk/app-armeabi-v7a-release.apk release-assets/Dester-${VERSION}-Android-armeabi-v7a.apk || true
431+
cp artifacts/android-apk/app-x86_64-release.apk release-assets/Dester-${VERSION}-Android-x86_64.apk || true
405432
406433
# Android AAB
407-
cp artifacts/android-aab/app-release.aab release-assets/Dester-Android.aab || true
434+
cp artifacts/android-aab/app-release.aab release-assets/Dester-${VERSION}-Android.aab || true
408435
409436
# Android TV
410-
cp artifacts/android-tv-apk/app-androidtv-release.apk release-assets/Dester-AndroidTV-arm64.apk || true
437+
cp artifacts/android-tv-apk/app-androidtv-release.apk release-assets/Dester-${VERSION}-AndroidTV-arm64.apk || true
411438
412439
# macOS
413-
cp artifacts/macos-installer/Dester-macOS.dmg release-assets/ || true
414-
cp artifacts/macos-installer/Dester-macOS.zip release-assets/ || true
440+
cp artifacts/macos-installer/Dester-macOS.dmg release-assets/Dester-${VERSION}-macOS.dmg || true
441+
cp artifacts/macos-installer/Dester-macOS.zip release-assets/Dester-${VERSION}-macOS.zip || true
415442
416443
# Linux
417-
cp artifacts/linux-archive/Dester-Linux-x64.tar.gz release-assets/ || true
444+
cp artifacts/linux-archive/Dester-Linux-x64.tar.gz release-assets/Dester-${VERSION}-Linux-x64.tar.gz || true
418445
419446
# Windows
420-
cp artifacts/windows-archive/Dester-Windows-x64.zip release-assets/ || true
447+
cp artifacts/windows-archive/Dester-Windows-x64.zip release-assets/Dester-${VERSION}-Windows-x64.zip || true
448+
449+
- name: Delete existing development release (if exists)
450+
if: steps.version.outputs.is_prerelease == 'true' && !startsWith(github.ref, 'refs/tags/v')
451+
run: |
452+
# Delete previous development releases to avoid clutter
453+
gh release delete "${{ steps.version.outputs.version }}" --yes || true
454+
git push origin :refs/tags/${{ steps.version.outputs.version }} || true
455+
env:
456+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
421457

422458
- name: Create GitHub Release
423-
uses: softprops/action-gh-release@v1
459+
uses: softprops/action-gh-release@v2
424460
with:
425461
files: release-assets/*
462+
tag_name: ${{ steps.version.outputs.version }}
463+
name: ${{ steps.version.outputs.version }}
426464
draft: false
427-
prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
465+
prerelease: ${{ steps.version.outputs.is_prerelease }}
428466
generate_release_notes: true
467+
body: |
468+
${{ startsWith(github.ref, 'refs/tags/v') && '🎉 Official Release' || '🚧 Development Build' }}
469+
470+
**Build Information:**
471+
- Commit: ${{ github.sha }}
472+
- Branch: ${{ github.ref_name }}
473+
- Workflow: ${{ github.run_number }}
474+
475+
${{ !startsWith(github.ref, 'refs/tags/v') && '⚠️ This is an automated development build. For stable releases, see tagged versions.' || '' }}
429476
env:
430477
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

FLUTTER_COMPATIBILITY.md

Lines changed: 0 additions & 151 deletions
This file was deleted.

0 commit comments

Comments
 (0)