-
Notifications
You must be signed in to change notification settings - Fork 96
49 lines (46 loc) · 2.52 KB
/
Copy pathrelease.yml
File metadata and controls
49 lines (46 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: Release
on:
release: #note: fortunately this event is not triggered for draft releases, as `released` could include drafts
types: [ prereleased, released ]
permissions: {}
jobs:
publishRelease:
runs-on: ubuntu-22.04
environment: release
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up JDK
uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0
with:
java-version: '17'
distribution: 'temurin'
- name: Publish Release
if: endsWith(github.event.release.tag_name, '.RELEASE')
run: ./gradlew --no-daemon -Pversion="${{github.event.release.tag_name}}" sign publish
env:
GRADLE_PUBLISH_REPO_URL: https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/
GRADLE_PUBLISH_MAVEN_USER: ${{secrets.MAVEN_USER}}
GRADLE_PUBLISH_MAVEN_PASSWORD: ${{secrets.MAVEN_PASSWORD}}
GRADLE_SIGNING_KEY: ${{secrets.SIGNING_KEY}}
GRADLE_SIGNING_PASSWORD: ${{secrets.SIGNING_PASSPHRASE}}
- name: Publish Milestone
if: github.event.release.prerelease && (contains(github.event.release.tag_name, '.M') || contains(github.event.release.tag_name, '.RC'))
run: ./gradlew --no-daemon -Pversion="${{github.event.release.tag_name}}" publish
env:
GRADLE_PUBLISH_REPO_URL: https://repo.spring.io/libs-milestone-local/
GRADLE_PUBLISH_MAVEN_USER: ${{secrets.ARTIFACTORY_USERNAME}}
GRADLE_PUBLISH_MAVEN_PASSWORD: ${{secrets.ARTIFACTORY_PASSWORD}}
- name: Stage the release
if: endsWith(github.event.release.tag_name, '.RELEASE')
env:
GRADLE_PUBLISH_MAVEN_USER: ${{secrets.MAVEN_USER}}
GRADLE_PUBLISH_MAVEN_PASSWORD: ${{secrets.MAVEN_PASSWORD}}
run: |
GRADLE_PUBLISH_MAVEN_AUTHORIZATION=$(echo "${GRADLE_PUBLISH_MAVEN_USER}:${GRADLE_PUBLISH_MAVEN_PASSWORD}" | base64)
REPOSITORY_RESPONSE=$(curl -s -X GET \
-H "Authorization: Bearer ${GRADLE_PUBLISH_MAVEN_AUTHORIZATION}" \
"https://ossrh-staging-api.central.sonatype.com/manual/search/repositories?state=open")
REPOSITORY_KEY=$(echo "${REPOSITORY_RESPONSE}" | grep -o '"key":"[^"]*"' | head -1 | cut -d':' -f2 | tr -d '"')
curl -s -X POST \
-H "Authorization: Bearer ${GRADLE_PUBLISH_MAVEN_AUTHORIZATION}" \
"https://ossrh-staging-api.central.sonatype.com/manual/upload/repository/${REPOSITORY_KEY}?publishing_type=user_managed"