Files
Tree-Data-Structure/.github/workflows/publishRelease.yml
Adrian Kuta 0b8429c859 ci: cache Gradle, harden permissions, fix test triggers (#45)
- Add gradle/actions/setup-gradle caching to all three workflows
- test.yml: trigger on pull_request + push to master (was branches-ignore: master), so PRs from forks are covered and master is verified after merge; add least-privilege permissions and PR-only concurrency
- publishRelease.yml: drop unused 'secrets: inherit' and the dead SNAPSHOT env var (Gradle reads the snapshot project property, not a plain env var); add contents: read permissions; fix the misleading Maven Central comment (upload only stages on Central Portal, the final Publish is manual)
- docs.yml: add Gradle caching
2026-06-07 23:25:55 +02:00

41 lines
1.2 KiB
YAML

name: Publish
on:
release:
# We'll run this workflow when a new GitHub release is created
types: [released]
permissions:
contents: read
jobs:
test:
uses: ./.github/workflows/test.yml
publish:
needs: test
name: Publish Production
environment: production
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
# Uploads & stages the release on Central Portal. The final "Publish"
# step is manual there, because build.gradle.kts sets
# publishToMavenCentral(automaticRelease = false).
- name: Publish to MavenCentral
run: ./gradlew publishToMavenCentral
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}