Skip to content

Commit

Permalink
github actions: add release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
fprochazka committed Nov 12, 2024
1 parent f59fb20 commit ed57c9d
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/gradle-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java }}
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/jreleaser-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Release using JReleaser

on:
workflow_dispatch:
inputs:
version:
description: 'Release version'
required: true
nextVersion:
description: 'Next version after release (-SNAPSHOT will be added automatically)'
required: true

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: JReleaser full release
env:
JRELEASER_PROJECT_VERSION: ${{ github.event.inputs.version }}
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.JRELEASER_MAVENCENTRAL_USERNAME }}
JRELEASER_MAVENCENTRAL_TOKEN: ${{ secrets.JRELEASER_MAVENCENTRAL_TOKEN }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.JRELEASER_GPG_PUBLIC_KEY }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.JRELEASER_GPG_SECRET_KEY }}
run: ./gradlew --console=plain --no-daemon --stacktrace jreleaserFullRelease -Pversion=${{ github.event.inputs.version }}

- name: JReleaser release output
if: always()
uses: actions/upload-artifact@v4
with:
name: jreleaser-release
path: |
out/jreleaser/trace.log
out/jreleaser/output.properties
- name: Update version in properties
run: sed -i 's/^version=.*/version=${{ github.event.inputs.nextVersion }}-SNAPSHOT/g' gradle.properties

- name: Commit & Push version update
uses: actions-js/push@master
with:
github_token: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
message: "chore: bump version to ${{ github.event.inputs.nextVersion }}-SNAPSHOT"
tags: true
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ plugins {
id("idea")
id("org.jreleaser") version ("1.15.0")
id("org.barfuin.gradle.taskinfo") version ("2.2.0") // ./gradlew tiTree jreleaserFullRelease
id("be.vbgn.ci-detect") version ("0.5.0")
}

repositories {
Expand All @@ -27,7 +28,7 @@ jreleaser {
signing {
active = org.jreleaser.model.Active.ALWAYS
armored = true
mode = org.jreleaser.model.Signing.Mode.COMMAND
mode = if (ci.isCi) org.jreleaser.model.Signing.Mode.MEMORY else org.jreleaser.model.Signing.Mode.COMMAND
files = true
artifacts = true
checksums = true
Expand Down

0 comments on commit ed57c9d

Please sign in to comment.