diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 941a9ef..c70362d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} cache-read-only: true - name: :release - run: ./gradlew release -Prelease_channel=RELEASE + run: ./gradlew githubRelease -Prelease_channel=RELEASE env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GRGIT_USER: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index d24de71..40b8d10 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,7 @@ plugins { id("java") id("maven-publish") id("org.ajoberstar.grgit") + id("com.github.breadmoirai.github-release") } operator fun String.invoke(): String = rootProject.properties[this] as? String ?: error("Property $this not found") @@ -77,8 +78,11 @@ if (releaseChannel.suffix != null) { patchAndSuffix += "-${releaseChannel.suffix}" } -version = "${minorVersion}.${patchAndSuffix}" -println("ZSON Version: $version") +val versionString = "${minorVersion}.${patchAndSuffix}" +val versionTagName = "${releaseTagPrefix}/${versionString}" + +version = versionString +println("ZSON Version: $versionString") repositories { mavenCentral() @@ -136,21 +140,16 @@ tasks.withType { } } -val release by tasks.registering { - group = "publishing" +githubRelease { + setToken(providers.environmentVariable("GITHUB_TOKEN")) + setTagName(versionTagName) + setTargetCommitish("master") + setReleaseName(versionString) + setReleaseAssets(tasks.jar.get().archiveFile, sourcesJar.get().archiveFile) +} + +tasks.githubRelease { dependsOn(tasks.assemble, tasks.check) - - doLast { - val tagName = "${releaseTagPrefix}/${version}" - val tag = grgit.tag.add { - name = tagName - pointsTo = grgit.head() - } - - grgit.push { - refsOrSpecs = listOf(tag.fullName) - } - } } publishing { diff --git a/settings.gradle.kts b/settings.gradle.kts index 1d28b1f..35910be 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,6 +11,7 @@ pluginManagement { plugins { id("org.gradle.toolchains.foojay-resolver-convention") version("0.7.0") id("org.ajoberstar.grgit") version("5.2.2") apply(false) + id("com.github.breadmoirai.github-release") version("2.4.1") apply(false) } rootProject.name = "zson"