Skip to content
name: Publish plugin on release
on:
release:
types: [created]
jobs:
release:
runs-on: ubuntu-latest
environment: release
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Get the version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Run tests
uses: gradle/gradle-build-action@v2
with:
arguments: |
--stacktrace
check
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: always() # always run even if the previous step fails
with:
check_name: JUnit Test Report
report_paths: '**/build/test-results/**/TEST-*.xml'
annotate_notice: false
- name: Publish plugin
uses: gradle/gradle-build-action@v2
env:
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.OSSRH_GPG_SECRET_KEY_ID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.OSSRH_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_withSigning: true
with:
arguments: |
-Pversion=${{ env.RELEASE_VERSION }}
-Pgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }}
-Pgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }}
--stacktrace
assemble publishPlugins publishToSonatype closeAndReleaseSonatypeStagingRepository
- name: Attach artifacts to the release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: 'build/libs/jooq-gradle-plugin-*[0-9].*[0-9].*[0-9]{-javadoc,-sources,}.jar'
file_glob: true
tag: ${{ github.ref }}