Skip to content

Release

Release #63

Workflow file for this run

name: Release
on:
workflow_dispatch
jobs:
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macOS-latest, windows-latest ]
include:
- os: ubuntu-latest
# On ubuntu publish everything you can i.e. the linuxX64 and jvm binaries
# (Need to do >- or for some reason it preserves a newline after all the entries)
publish_command: build publishLinux
platform: linux
- os: macOS-latest
publish_command: build publishMac
platform: mac
- os: windows-latest
publish_command: build publishWindows
platform: windows
env:
SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}
SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}
NEW_SIGNING_KEY_ID_BASE64: ${{ secrets.NEW_SIGNING_KEY_ID_BASE64 }}
NEW_SIGNING_KEY_ID_BASE64_PASS: ${{ secrets.NEW_SIGNING_KEY_ID_BASE64_PASS }}
MATRIX_OS: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- run: echo "*************** PublishCommand ${{ matrix.publish_command }}"
- id: create_staging_repo
name: Create Central staging repo (Gradle)
run: ./gradlew startSonatypeStaging --no-daemon
- name: Publish the project
shell: bash
env:
STAGING_REPO_ID: ${{ steps.create_staging_repo.outputs.repository_id }}
run: ./gradlew ${{ matrix.publish_command }} -Pplatform=${{ matrix.platform }} -PisCI --no-parallel --max-workers 1 --no-daemon --stacktrace --info
release_repos:
needs: [ release ]
runs-on: ubuntu-latest
env:
SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}
SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- run: ./gradlew publishSonatypeStaging
# Once all of the Nexus artifacts are published, we can release the plugin to gradle plugin portal
release_plugin:
needs: [release_repos]
runs-on: ubuntu-latest
env:
SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}
SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}
NEW_SIGNING_KEY_ID_BASE64: ${{ secrets.NEW_SIGNING_KEY_ID_BASE64 }}
NEW_SIGNING_KEY_ID_BASE64_PASS: ${{ secrets.NEW_SIGNING_KEY_ID_BASE64_PASS }}
GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }}
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3
- run: ./gradlew :terpal-plugin-gradle:publishPlugins -Pplatform=linux -PisCI -no-daemon --stacktrace