@@ -40,26 +40,28 @@ jobs:
4040 - name : Grant execute permission to gradlew
4141 run : chmod +x ./gradlew
4242
43- # --- Sürüm Bilgilerini Al ve Etiket Oluştur ---
4443 - name : Get App Version and Generate Tags
4544 id : version_info
4645 run : |
4746 # APP_VERSION_CODE için Unix timestamp kullanıyoruz, bu her zaman benzersiz ve artan olacaktır.
48- # APP_VERSION_NAME için Git tag'ını kullanmayı deneyelim. Eğer yoksa veya boşsa, varsayılan bir değer kullanırız.
49-
50- # En son Git tag'ını al (örn: v1.0.0). Eğer tag yoksa veya boşsa '1.0.0' gibi bir varsayılan kullan
51- APP_VERSION_NAME=$(git describe --tags --abbrev=0 --always | sed 's/^v//' || echo "1.0.0") # 'v' önekini kaldırır
52-
53- # Eğer git describe komutu başarısız olursa veya boş bir string dönerse
54- if [ -z "$APP_VERSION_NAME" ] || [ "$APP_VERSION_NAME" == "v" ]; then
55- APP_VERSION_NAME="1.0.0" # Güvenli bir varsayılan değer
56- fi
57-
5847 APP_VERSION_CODE=$(date +%s) # Unix timestamp (saniye cinsinden) olarak benzersiz versionCode
5948
60- # RELEASE_TAG, APK dosya adı ve changelog için kullanılacak
61- # RELEASE_TAG'ı daha kısa tutalım ve versionCode ile bitirelim
62- RELEASE_TAG="v${APP_VERSION_NAME}-${{ env.APP_VERSION_CODE }}"
49+ # APP_VERSION_NAME için Git tag'ını kullanmayı deneyelim.
50+ # Eğer tag yoksa veya 'v' önekiyle birlikte commit hash'i dönerse,
51+ # daha okunabilir bir varsayılan değer (örn. '1.0.0') kullanalım.
52+ RAW_APP_VERSION_NAME=$(git describe --tags --abbrev=0 --always)
53+ APP_VERSION_NAME="${RAW_APP_VERSION_NAME#v}" # "v" önekini kaldırır
54+
55+ # Eğer APP_VERSION_NAME hala bir commit hash'i gibi görünüyorsa veya boşsa,
56+ # fallback olarak run_number'ı kullanan bir versiyon adı oluşturalım.
57+ # Commit hash'i genellikle en az 7 karakter uzunluğundadır, bu bir kontrol olabilir.
58+ if [[ -z "$APP_VERSION_NAME" || ${#APP_VERSION_NAME} -gt 6 && "$APP_VERSION_NAME" =~ ^[0-9a-fA-F]+$ ]]; then
59+ APP_VERSION_NAME="0.0.${{ github.run_number }}" # Örneğin: 0.0.1, 0.0.2 vb.
60+ fi
61+
62+ # RELEASE_TAG, GitHub Release ve APK dosya adı için kullanılacak.
63+ # Formatı 'v<versionName>-<timestamp>' olarak belirleyelim, bu genellikle kabul görür.
64+ RELEASE_TAG="v${APP_VERSION_NAME}-${APP_VERSION_CODE}"
6365 NEW_APK_NAME="BirthdayReminder-${{ env.RELEASE_TAG }}.apk"
6466
6567 # Bu değerleri sonraki adımlarda kullanmak üzere ortam değişkenlerine yaz
0 commit comments