Skip to content

Configure Gradle publishing for GitHub Packages and Maven Central #69

Configure Gradle publishing for GitHub Packages and Maven Central

Configure Gradle publishing for GitHub Packages and Maven Central #69

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
# Prepare
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: gittools/actions/gitversion/setup@v0.10.2
with:
versionSpec: '5.12.x'
- uses: gittools/actions/gitversion/execute@v0.10.2
id: gitversion
- name: Set version (release)
if: github.ref_type == 'tag'
run: echo "VERSION=${{steps.gitversion.outputs.semVer}}" >> $GITHUB_ENV
- name: Set version (pre-release)
if: github.ref_type != 'tag'
run: echo "VERSION=${{steps.gitversion.outputs.semVer}}-${{steps.gitversion.outputs.shortSha}}" >> $GITHUB_ENV
# Build
- run: gradle build
- run: gradle dokkaHtmlMultiModule
- run: gradle test
- name: Report test results
if: always()
uses: dorny/test-reporter@v1
with:
name: Test Report
reporter: java-junit
path: '*/build/test-results/test/TEST-*.xml'
# Release
- name: Create GitHub Release
if: github.ref_type == 'tag'
uses: softprops/action-gh-release@v1
# Publish
- name: Publish packages (GitHub)
if: github.event_name == 'push' && github.actor != 'renovate[bot]'
run: gradle publishAllPublicationsToGitHubRepository
env:
GITHUB_TOKEN: ${{github.token}}
- name: Publish packages (Maven Central)
if: github.ref_type == 'tag'
run: gradle publishToSonatype closeAndReleaseSonatypeStagingRepository
env:
SIGNING_KEY: ${{secrets.SIGNING_KEY}}
SIGNING_PASSWORD: ${{secrets.SIGNING_PASSWORD}}
SONATYPE_USERNAME: ${{secrets.SONATYPE_USERNAME}}
SONATYPE_PASSWORD: ${{secrets.SONATYPE_PASSWORD}}
- name: Publish documentation
if: github.ref_type == 'tag'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{github.token}}
force_orphan: true
publish_dir: build/dokka/htmlMultiModule
cname: java.typedrest.net