diff --git a/.github/workflows/publish-client-and-server.yml b/.github/workflows/publish-client-and-server.yml new file mode 100644 index 00000000..d86920fd --- /dev/null +++ b/.github/workflows/publish-client-and-server.yml @@ -0,0 +1,58 @@ +name: Release Client and Server + +on: + workflow_dispatch: + +jobs: + build: + runs-on: macos-latest + environment: release + + permissions: + contents: write + packages: write + + steps: + - uses: actions/checkout@v5 + - name: Set up JDK 21 + uses: actions/setup-java@v5 + with: + java-version: '21' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Verify publication configuration + run: ./gradlew kotlin-sdk-server:jreleaserConfig kotlin-sdk-client:jreleaserConfig + env: + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Build with Gradle + run: ./gradlew clean kotlin-sdk-server:assemble kotlin-sdk-client:assemble + env: + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + + - name: Publish to Maven Central Portal + id: publish + run: ./gradlew kotlin-sdk-server:publish kotlin-sdk-client:publish kotlin-sdk-server:jreleaserFullRelease kotlin-sdk-client:jreleaserFullRelease --info --stacktrace -Djreleaser.verbose=true + env: + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} + JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} + SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} diff --git a/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts b/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts index 95c641ec..9761aa7b 100644 --- a/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts @@ -63,4 +63,13 @@ jreleaser { files = false } } + + release { + github { + skipRelease = true + skipTag = true + overwrite = false + token = "none" + } + } }