Skip to content

Commit d4e94b4

Browse files
committed
Configure Automatic Release to Maven Central
Signed-off-by: Matt Ramotar <matt.ramotar@uber.com>
1 parent ca42819 commit d4e94b4

File tree

4 files changed

+23
-26
lines changed

4 files changed

+23
-26
lines changed

.github/workflows/ci.yml

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ name: CI
22

33
on:
44
push:
5-
branches:
6-
- main
5+
branches: [ main ]
76
pull_request:
8-
branches:
9-
- main
7+
branches: [ main ]
108

119
jobs:
1210
build-and-test:
@@ -15,12 +13,10 @@ jobs:
1513
strategy:
1614
fail-fast: false
1715
matrix:
18-
api-level:
19-
- 29
16+
api-level: [ 29 ]
2017
steps:
21-
2218
- name: Checkout
23-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2420
with:
2521
ref: ${{ github.head_ref || github.ref }}
2622
fetch-depth: 0
@@ -33,7 +29,7 @@ jobs:
3329
java-version: '17'
3430

3531
- name: Setup Gradle
36-
uses: gradle/gradle-build-action@v2
32+
uses: gradle/gradle-build-action@v3
3733

3834
- name: Grant execute permission for Gradlew
3935
run: chmod +x gradlew
@@ -57,32 +53,33 @@ jobs:
5753
needs: build-and-test
5854
steps:
5955
- name: Checkout
60-
uses: actions/checkout@v3
56+
uses: actions/checkout@v4
6157

6258
- name: Set up JDK 17
6359
uses: actions/setup-java@v4
6460
with:
6561
distribution: 'zulu'
6662
java-version: '17'
6763

64+
- name: Setup Gradle
65+
uses: gradle/gradle-build-action@v3
66+
6867
- name: Grant execute permission for Gradlew
6968
run: chmod +x gradlew
7069

71-
- name: Upload Artifacts to Maven Central
72-
run: ./gradlew publishAllPublicationsToMavenCentralRepository --no-daemon --no-parallel
70+
- name: Retrieve Version
71+
run: |
72+
echo "VERSION_NAME=$(grep -w 'VERSION_NAME' gradle.properties | cut -d'=' -f2)" >> $GITHUB_ENV
73+
74+
- name: Publish to Maven Central (Central Portal)
7375
env:
7476
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }}
7577
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }}
7678
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}
7779
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
78-
79-
- name: Retrieve Version
8080
run: |
81-
echo "VERSION_NAME=$(cat gradle.properties | grep -w "VERSION_NAME" | cut -d'=' -f2)" >> $GITHUB_ENV
82-
83-
- name: Publish Release
84-
run: ./gradlew closeAndReleaseRepository --no-daemon --no-parallel
85-
if: "!endsWith(env.VERSION_NAME, '-SNAPSHOT')"
86-
env:
87-
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }}
88-
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }}
81+
if [[ "${VERSION_NAME}" == *-SNAPSHOT ]]; then
82+
./gradlew publishToMavenCentral
83+
else
84+
./gradlew publishAndReleaseToMavenCentral
85+
fi

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ org.gradle.jvmargs=-XX:MaxMetaspaceSize=2G
88

99
# POM file
1010
GROUP=org.mobilenativefoundation.store
11-
VERSION_NAME=5.1.0-alpha07
11+
VERSION_NAME=5.1.0-SNAPSHOT
1212
POM_PACKAGING=pom
1313
POM_DESCRIPTION = Store5 is a Kotlin Multiplatform network-resilient repository layer
1414

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ testCore = "1.6.1"
2121
kmmBridge = "0.3.2"
2222
ktlint = "0.39.0"
2323
kover = "0.9.0-RC"
24-
store = "5.1.0-alpha07"
24+
store = "5.1.0-SNAPSHOT"
2525
truth = "1.1.3"
2626
turbine = "1.2.0"
2727
binary-compatibility-validator = "0.15.0-Beta.2"

tooling/plugins/src/main/kotlin/org/mobilenativefoundation/store/tooling/plugins/KotlinMultiplatformConventionPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,12 @@ object Versions {
175175
const val COMPILE_SDK = 34
176176
const val MIN_SDK = 24
177177
const val TARGET_SDK = 34
178-
const val STORE = "5.1.0-alpha07"
178+
const val STORE = "5.1.0-SNAPSHOT"
179179
}
180180

181181

182182
fun Project.configureMavenPublishing() = extensions.configure<MavenPublishBaseExtension> {
183-
publishToMavenCentral()
183+
publishToMavenCentral(automaticRelease = true)
184184
signAllPublications()
185185
}
186186

0 commit comments

Comments
 (0)