Contributing guide #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish to Maven Central | |
| concurrency: | |
| group: maven-publish-${{ github.ref }} | |
| cancel-in-progress: false | |
| on: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| inputs: | |
| snapshot: | |
| description: 'Publish as snapshot' | |
| type: boolean | |
| default: false | |
| jobs: | |
| deployment: | |
| name: Publish to Maven Central | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: 21 | |
| - name: Cache Gradle | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/libs.versions.toml') }} | |
| restore-keys: gradle-${{ runner.os }}- | |
| - name: Publish to Maven Central | |
| env: | |
| ORG_GRADLE_PROJECT_SNAPSHOT: ${{ github.event_name == 'push' || inputs.snapshot }} | |
| ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} | |
| ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} | |
| ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_KEY_PW }} | |
| run: ./gradlew publishToMavenCentral | |
| - name: Create Git Tag | |
| if: github.event_name == 'workflow_dispatch' && !inputs.snapshot | |
| run: | | |
| VERSION=$(grep 'const val VERSION' build-logic/src/main/kotlin/kjwt/Projects.kt | sed 's/.*"\(.*\)".*/\1/') | |
| git tag "v$VERSION" | |
| git push origin "v$VERSION" |