Sürümü etiket itmeden de yayımlayabil - #8
Merged
Merged
Conversation
release.yml yalnızca `v*` etiketi itildiğinde sürüm açıyordu; etiketi kim iterse yayımı o başlatıyordu. Elle tetikleme zaten vardı ama etikete bağlı adımlar `github.ref_type == 'tag'` ile korunduğu için o yolda atlanıyor, geriye yalnızca APK üretimi kalıyordu. Artık elle tetiklemede bir etiket adı kutusu var ve etiketi de sürümü de iş akışı kendisi oluşturuyor (`gh release create --target`, GITHUB_TOKEN ile). Aynı desen aripdcom/zagames'te zaten kullanılıyordu. Kutu boş bırakılırsa eski davranış sürüyor: etiket de sürüm de oluşmaz, yalnızca imzalı APK üretilip çıktıya asılır. README'nin 10. bölümündeki boyut ölçümü bu modla alındı, kaybolmasın diye korundu. check-tag.sh her iki yolda da koşuyor; `github.ref_type` yerine tek bir `steps.tag.outputs.publish` değerine bakılıyor. Betiğe bir de biçim denetimi eklendi: elle tetiklemede ada ne yazıldığı belli olmadığı için `v` öneki şart koşuluyor. "4.3" yazılsaydı versionName ile karşılaştırma tutardı ama ortaya depodaki diğerlerine benzemeyen, `tags: ['v*']` süzgecine de takılmayan bir etiket çıkardı. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hopbr7JCpgA3tARXXvPGVi
Aynı işi yapan iki iş akışı sebepsiz ayrışmasın: aripdcom/norda aynı sorunu (etiket itemeyen bir ortamdan yayımlamak) aynı yoldan çözmüş ve bu depodaki release.yml onunla neredeyse birebir aynı zaten. Girdi `tag_name` yerine `tag`, `type: string` ile. Etiket de step çıktısı yerine tek bir RELEASE_TAG ortam değişkenine indirgeniyor; adımlar `if: env.RELEASE_TAG != ''` ile korunuyor. Ayrı bir `publish` bayrağına gerek kalmadı: boş etiket zaten "yayımlama" demek. Davranış değişmiyor, yalnızca biçim. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hopbr7JCpgA3tARXXvPGVi
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
release.ymlyalnızcav*etiketi itildiğinde sürüm açıyordu. Elle tetikleme zaten vardı ama etikete bağlı adımlargithub.ref_type == 'tag'ile korunduğundan o yolda atlanıyor, geriye sadece APK üretimi kalıyordu — bugün tam olarak bu oldu.Artık
Actions → Release → Run workflowaltındakitagkutusuna etiket adı yazılabiliyor; etiketi de sürümü de iş akışı kendisi oluşturuyor (gh release create --target,GITHUB_TOKENile).Bu desen aripdcom/norda'da zaten var ve gerekçesi de oraya yazılmış:
Yani aynı duvara daha önce de çarpılmış, çözüm norda'ya konmuş, compass'e geçmemiş. Bu PR farkı kapatıyor ve biçimi de norda'nınkine hizalıyor: girdi adı
tag,type: string, etiket tek birRELEASE_TAGortam değişkenine indirgeniyor, adımlarif: env.RELEASE_TAG != ''ile korunuyor. (zagames aynı işiaction-gh-releaseile yapıyor; compass'in iş akışıghkullandığı için norda'ya daha yakın.)Üç yol
git push origin v4.4tag=v4.4tagboşÜçüncüsü eski davranış; README'nin 10. bölümündeki boyut ölçümü onunla alındı, kaybolmasın diye korundu.
check-tag.sh
Her iki yayım yolunda da koşuyor. Betiğe bir de biçim denetimi eklendi: elle tetiklemede ad doğrudan elle yazıldığı için
vöneki şart koşuluyor.4.3yazılsaydı versionName ile karşılaştırma tutardı, ama ortaya depodaki diğerlerine benzemeyen vetags: ['v*']süzgecine bir daha takılmayan bir etiket çıkardı. norda aynı şeyivX.Y.Zkalıbıyla sınıyor; compass iki parçalı sürüm kullandığı için (4.3) o kalıp olduğu gibi konamadı.Etiket adı yine kabuğa gömülmüyor, ortam değişkeninden geçiyor — elle yazılan bir ad söz konusu olduğu için bu artık daha da önemli.
Dikkat: kontrolün yeri değişiyor
Şu ana kadar sürüm yayımlamak elle etiket itmeyi gerektiriyordu; bu birleşince iş akışını tetikleyebilen herkes sürüm yayımlayabilir hâle gelir. İstenirse iş akışı GitHub'da onay gerektiren bir
environment'a bağlanarak o kapı geri konabilir.🤖 Generated with Claude Code
https://claude.ai/code/session_01Hopbr7JCpgA3tARXXvPGVi