# Триггерится при публикации релиза в Gitea. Публикует все KMP-библиотеки # (jvm + native таргеты) в домашний Nexus-репозиторий "caffeine". # # Fatjar-ы запускаемых модулей (:standalone, :agentik-cli). # :agentik-tui был исключён из сборки 2026-09-17 (см. settings.gradle.kts). # НЕ собираются и НЕ крепятся к релизу здесь. Сборка артефактов # выполняется локально из исходников (или руками через `./gradlew # ::shadowJar`) и загружается в релиз через Gitea UI / API # отдельно от этого workflow. # # Версия публикации = имя тега релиза (без префикса 'v'). Релиз с именем "3" # публикует pw.binom.agentik:*:3 в Nexus. Ничего хардкодить не нужно — # версия берётся из тега каждый раз. # # Публикация выполняется общим composite-action'ом subochev/devops/publish@main # (тот же, что у asr-kmp / litert-kmp / embedder-kmp / a2a-protocol) — credentials # BINOM_REPO_* берутся им из Gitea Action Variables (owner_id=0, глобальные). name: release on: release: types: [published] concurrency: group: release-${{ github.ref }} cancel-in-progress: false # UTF-8 обязателен: генерация POM/Kotlin-метаданных и имена тестовых классов # содержат не-ASCII символы; при LANG=C sun.jnu.encoding = ASCII и сборка # падает с "InvalidPathException: Malformed input or input contains unmappable # characters" (проверено локально 19.09.2026: LANG=C → BUILD FAILED, # LANG=C.UTF-8 → BUILD SUCCESSFUL). env: LANG: C.UTF-8 LC_ALL: C.UTF-8 jobs: publish-libraries: name: Publish KMP libraries → caffeine Nexus runs-on: ubuntu-latest timeout-minutes: 120 steps: - name: Checkout uses: actions/checkout@v4 - name: Publish libraries (all KMP targets, all modules) to Nexus uses: https://git.binom.pw/subochev/devops/publish@main with: version: ${{ gitea.ref_name }}