diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index 0c291d7..561b4ca 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -38,9 +38,19 @@ jobs: # The USERNAME and TOKEN need to correspond to the credentials environment variables used in # the publishing section of your build.gradle - - name: Publish to GitHub Packages and Maven Central + - name: Publish to GitHub Packages and Stage all artifacts to a local directory (for jreleaser) run: ./gradlew :lib-core:publish env: GITHUB_TOKEN: ${{ secrets.TOKEN }} - MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + + # For Jreleaser + - name: Publish to Maven Central + run: ./gradlew jreleaserFullRelease + env: + JRELEASER_PROJECT_JAVA_GROUP_ID: ${{ secrets.JRELEASER_PROJECT_JAVA_GROUP_ID }} + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.JRELEASER_MAVENCENTRAL_USERNAME }} + JRELEASER_MAVENCENTRAL_TOKEN: ${{ secrets.JRELEASER_MAVENCENTRAL_TOKEN }} + JRELEASER_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }} + JRELEASER_GPG_SECRET_KEY: ${{ secrets.JRELEASER_GPG_SECRET_KEY }} + JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.JRELEASER_GPG_PUBLIC_KEY }} + JRELEASER_GITHUB_TOKEN: ${{ secrets.TOKEN }} diff --git a/README.md b/README.md index aaaf3b9..210a5a4 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@ Developed a high-performance ring buffer leveraging `lock-free` and low-level `u [Cafe RingBuffer Javadoc](https://gc-garcol.github.io/cafe-ringbuffer/index-all.html) -| Benchmark | Results | -|----------------------------------------------------------------------------------|--------------------------------------------------------------| -| `Unicast`-`1P – 1C` throughput: 11,200 messages. Avg-latency: 89.4 ns | | -| `Three Step Pipeline`-`1P – 3C` throughput: 7,800 messages.Avg-latency: 132.2 ns | | +| Benchmark | Results | +|-------------------------------------------------------------------------------------------------|--------------------------------------------------------------| +| `Unicast`-`1P – 1C`
throughput: 11,200,000 messages/s.
Avg-latency: 89.4 ns | | +| `Three Step Pipeline`-`1P – 3C`
throughput: 7,800,000 messages/s.
Avg-latency: 132.2 ns | | ## Features - [X] `OneToManyRingBuffer` (also configurable for `OneToOneRingBuffer` usage) diff --git a/README.release.md b/README.release.md deleted file mode 100644 index 34f0dd9..0000000 --- a/README.release.md +++ /dev/null @@ -1,8 +0,0 @@ -# Release - -```shell -./gradlew :lib-core:publish -``` - -## References -- https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-gradle#publishing-packages-to-the-maven-central-repository-and-github-packages diff --git a/build.gradle.kts b/build.gradle.kts index 3b371f3..257f9d7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,26 @@ +import org.jreleaser.model.Active + plugins { - java + `java-library` + `maven-publish` + id("org.jreleaser") version "1.15.0" +} + +// set env for JRELEASER_PROJECT_JAVA_GROUP_ID +jreleaser { + signing { + active = Active.ALWAYS + armored = true + } + deploy { + maven { + mavenCentral { + create("sonatype") { + active = Active.ALWAYS + url.set("https://central.sonatype.com/api/v1/publisher") + stagingRepositories.add("lib-core/build/staging-deploy") + } + } + } + } } diff --git a/lib-core/build.gradle.kts b/lib-core/build.gradle.kts index 517cf68..97d3b1c 100644 --- a/lib-core/build.gradle.kts +++ b/lib-core/build.gradle.kts @@ -1,11 +1,10 @@ plugins { `java-library` `maven-publish` - id("org.jreleaser") version "1.15.0" } group = "io.github.gc-garcol" -version = "0.0.4" +version = "0.0.5" java { toolchain { @@ -62,28 +61,24 @@ publishing { scm { connection.set("scm:git:https://github.com/gc-garcol/cafe-ringbuffer.git") developerConnection.set("scm:git:ssh://github.com/gc-garcol/cafe-ringbuffer.git") - url.set("https://github.com/gc-garcol/cafe-ringbuffer") + url.set("https://github.com/gc-garcol/cafe-ringbuffer/tree/main") } } } } repositories { - maven { - name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/gc-garcol/cafe-ringbuffer") - credentials { - username = System.getenv("GITHUB_ACTOR") - password = System.getenv("GITHUB_TOKEN") - } - } // maven { -// name = "MavenCentral" -// url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") +// name = "GitHubPackages" +// url = uri("https://maven.pkg.github.com/gc-garcol/cafe-ringbuffer") // credentials { -// username = System.getenv("MAVEN_USERNAME") -// password = System.getenv("MAVEN_PASSWORD") +// username = System.getenv("GITHUB_ACTOR") +// password = System.getenv("GITHUB_TOKEN") // } // } + + maven { + url = layout.buildDirectory.dir("staging-deploy").get().asFile.toURI() + } } }