# publish-release Self-hosted Gitea release publisher. Composite action (`bash` + `curl`), **zero node runtime** — eski node sürümlü üçüncü parti release action'larına güvenli alternatif. ## Kullanım ```yaml - uses: https://git.fristy.net/actions/publish-release@v1 with: tag_name: v1.2.3 name: 'Release v1.2.3' body_path: CHANGELOG.md files: | dist/* checksums/*.txt sha256sum: 'true' ``` ## Girdiler | Ad | Varsayılan | Açıklama | |---|---|---| | `token` | `${{ github.token }}` | Release yazma yetkili token | | `server_url` | `${{ github.server_url }}` | Gitea adresi | | `repository` | `${{ github.repository }}` | Hedef `owner/repo` | | `tag_name` | `${{ github.ref_name }}` | Release tag'i | | `name` | tag ile aynı | Release başlığı | | `body` / `body_path` | boş | Release notları (`body_path` öncelikli) | | `draft` | `false` | Taslak olarak aç | | `prerelease` | `false` | Ön-sürüm işareti | | `target_commitish` | boş | Tag'in açılacağı dal/SHA (boş = varsayılan dal) | | `files` | boş | Yüklenecek asset glob'ları (satır satır) | | `sha256sum` | `false` | `sha256sums.txt` üretip yükle | | `overwrite` | `false` | `true` ise aynı tag'deki release'i silip yeniden aç | Çıktılar: `release_id`, `release_url`. ## Gereksinimler Runner imajında `curl` + `bash` + (`jq` veya `python3`) olmalı (`catthehacker` imajlarında üçü de var). Token'da release yazma yetkisi gerekir (`write:repository`). ## Notlar - Mevcut tag'de release varsa ve `overwrite: 'false'` ise adım hata verir. - Dosya adlarında boşluk ve tag'de `/` dışı özel karakterler desteklenmez. - Tüketirken tag'e ek olarak SHA pin'i önerilir.