Skip to content

Migrate to maven-publish-helper and configure Maven Central publishing #15

Migrate to maven-publish-helper and configure Maven Central publishing

Migrate to maven-publish-helper and configure Maven Central publishing #15

Workflow file for this run

name: "Gradle Test & Publish"
on:
push:
tags:
- "v*"
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup project
id: setup
uses: ./.github/actions/setup-project
- name: Prepare test access environment
env:
ACCESS_CSV: ${{ secrets.ACCESS_CSV }}
run: |
cat <<EOF > ${GITHUB_WORKSPACE}/sp24-kt/access.csv
$ACCESS_CSV
EOF
- name: Run tests
run: ./gradlew jvmTest -Pversion=${{ steps.setup.outputs.version }}
build:
runs-on: macos-latest
permissions:
packages: write
contents: read
needs: test
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup project
id: setup
uses: ./.github/actions/setup-project
- name: Publish
run: ./gradlew publish -Pversion=${{ steps.setup.outputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_KEY_CONTENTS }}
release:
runs-on: ubuntu-latest
needs: build
permissions:
contents: write
steps:
- name: Determine if latest
id: semver
run: |
TAG="${GITHUB_REF_NAME}"
if [[ "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "is_latest=true" >> $GITHUB_OUTPUT
else
echo "is_latest=false" >> $GITHUB_OUTPUT
fi
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: Release ${{ github.ref_name }}
make_latest: ${{ steps.semver.outputs.is_latest }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}