ci: publish-on-release workflow + maven-publish (caffeine)
Publish AG-UI Protocol / Deploy to dev (release) Successful in 2m37s

- .gitea/workflows/build.yml: on release -> subochev/devops/publish -> caffeine
- maven-publish wired into api/client/server (KMP per-target publications)
- root: caffeine repo (nexus.xx) + pom; version via gradle.properties, overridable by -Pversion
This commit is contained in:
2026-09-10 00:37:41 +03:00
parent 8eeee54093
commit a5198e471f
7 changed files with 48 additions and 2 deletions
+15
View File
@@ -0,0 +1,15 @@
name: 'Publish AG-UI Protocol'
on:
release:
types: [published]
jobs:
deploy-dev:
name: 'Deploy to dev'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: https://github.com/actions/checkout@v4
- name: 'Publishing Gradle'
uses: https://git.binom.pw/subochev/devops/publish@main
with:
version: ${{ gitea.ref_name }}
+1
View File
@@ -1,6 +1,7 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.maven.publish)
}
kotlin {
+27 -1
View File
@@ -1,3 +1,5 @@
import org.gradle.api.publish.maven.MavenPublication
plugins {
alias(libs.plugins.kotlin.multiplatform) apply false
alias(libs.plugins.kotlin.serialization) apply false
@@ -5,5 +7,29 @@ plugins {
allprojects {
group = "pw.binom.agui"
version = "0.1.0-SNAPSHOT"
}
subprojects {
plugins.withId("maven-publish") {
extensions.configure<PublishingExtension>("publishing") {
publications.withType<MavenPublication>().configureEach {
pom {
name.set(project.name)
description.set("AG-UI (Agent-User Interface) protocol implementation")
url.set("https://github.com/ag-ui-protocol/ag-ui")
}
}
repositories {
maven {
name = "caffeine"
url = uri("http://nexus.xx/repository/caffeine/")
isAllowInsecureProtocol = true
credentials {
username = (project.findProperty("binom.repo.user") as String?) ?: System.getenv("BINOM_REPO_USER").orEmpty()
password = (project.findProperty("binom.repo.password") as String?) ?: System.getenv("BINOM_REPO_PASSWORD").orEmpty()
}
}
}
}
}
}
+1
View File
@@ -1,6 +1,7 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.maven.publish)
}
kotlin {
+1
View File
@@ -0,0 +1 @@
version=0.1.0-SNAPSHOT
+1
View File
@@ -24,3 +24,4 @@ ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx
[plugins]
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
maven-publish = { id = "maven-publish" }
+1
View File
@@ -1,6 +1,7 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.maven.publish)
}
kotlin {