Skip to content

Commit b8fe495

Browse files
authored
chore: migrate to Rokt release process (#663)
* chore: Migrate to Rokt release process * Fix trunk issues * Fixes for versions * Separate versions for coroutines * Change jvm version and fix lower case issue * Update KitPlugin.groovy * Pin actions versions up lint timeout --------- Signed-off-by: James Newman <james.newman@rokt.com>
1 parent e506646 commit b8fe495

26 files changed

Lines changed: 509 additions & 690 deletions

File tree

.github/workflows/cross-platform-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: "Checkout Cross Platform Tests Repo"
13-
uses: actions/checkout@v6.0.2
13+
uses: actions/checkout@v6
1414
with:
1515
repository: mParticle/crossplatform-sdk-tests
1616

1717
- name: "Checkout Android SDK Branch"
18-
uses: actions/checkout@v6.0.2
18+
uses: actions/checkout@v6
1919
with:
2020
repository: ${{github.event.pull_request.head.repo.full_name}}
2121
ref: ${{github.head_ref}}

.github/workflows/daily.yml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
GIT_COMMITTER_EMAIL: developers@mparticle.com
4646
steps:
4747
- name: "Clone branch"
48-
uses: actions/checkout@v6.0.2
48+
uses: actions/checkout@v6
4949
with:
5050
token: ${{ secrets.MP_SEMANTIC_RELEASE_BOT }}
5151
repository: mparticle/mparticle-android-sdk
@@ -69,7 +69,7 @@ jobs:
6969
# needs: create-regression-branch
7070
# steps:
7171
# - name: "Checkout future release branch"
72-
# uses: actions/checkout@v6.0.2
72+
# uses: actions/checkout@v6
7373
# with:
7474
# repository: mparticle/mparticle-android-sdk
7575
# ref: regression/${{ github.run_number }}
@@ -102,7 +102,7 @@ jobs:
102102
# needs: create-regression-branch
103103
# steps:
104104
# - name: "Checkout Branch"
105-
# uses: actions/checkout@v6.0.2
105+
# uses: actions/checkout@v6
106106
# with:
107107
# repository: mparticle/mparticle-android-sdk
108108
# ref: regression/${{ github.run_number }}
@@ -192,7 +192,7 @@ jobs:
192192
needs: create-regression-branch
193193
steps:
194194
- name: "Checkout future release branch"
195-
uses: actions/checkout@v6.0.2
195+
uses: actions/checkout@v6
196196
with:
197197
repository: mparticle/mparticle-android-sdk
198198
ref: regression/${{ github.run_number }}
@@ -221,7 +221,7 @@ jobs:
221221
needs: create-regression-branch
222222
steps:
223223
- name: "Checkout Branch"
224-
uses: actions/checkout@v6.0.2
224+
uses: actions/checkout@v6
225225
with:
226226
ref: regression/${{ github.run_number }}
227227
- name: "Install JDK 17"
@@ -233,10 +233,10 @@ jobs:
233233
- name: "Run Android Core SDK Lint"
234234
run: ./gradlew lint
235235
- name: "Setup Android Kit Lint"
236-
run: ./gradlew publishReleaseLocal
236+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
237237
- name: "Run Android Kit Lint"
238-
run: ./gradlew publishReleaseLocal -c settings-kits.gradle lint
239-
- name: "Run Isolated Kit Lint (urbanairship)"
238+
run: ./gradlew lint -c settings-kits.gradle
239+
- name: "Run Isolated Kit Lint (urbanairship-kit)"
240240
working-directory: kits/urbanairship/urbanairship-20
241241
run: ./gradlew lint
242242
- name: "Archive Test Results"
@@ -259,7 +259,7 @@ jobs:
259259
needs: create-regression-branch
260260
steps:
261261
- name: "Checkout Branch"
262-
uses: actions/checkout@v6.0.2
262+
uses: actions/checkout@v6
263263
with:
264264
ref: regression/${{ github.run_number }}
265265
- name: "Install JDK 17"
@@ -271,10 +271,10 @@ jobs:
271271
- name: "Run Android Core SDK Kotlin Lint"
272272
run: ./gradlew ktlintCheck
273273
- name: "Setup Android Kit Kotlin Lint"
274-
run: ./gradlew publishReleaseLocal
274+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
275275
- name: "Run Android Kit Kotlin Lint"
276-
run: ./gradlew publishReleaseLocal -c settings-kits.gradle ktlintCheck
277-
- name: "Run Isolated Kit Kotlin Lint (urbanairship)"
276+
run: ./gradlew ktlintCheck -c settings-kits.gradle
277+
- name: "Run Isolated Kit Kotlin Lint (urbanairship-kit)"
278278
working-directory: kits/urbanairship/urbanairship-20
279279
run: ./gradlew ktlintCheck
280280
- name: "Archive Test Results"
@@ -301,7 +301,7 @@ jobs:
301301
GIT_COMMITTER_EMAIL: developers@mparticle.com
302302
steps:
303303
- name: "Checkout future release branch"
304-
uses: actions/checkout@v6.0.2
304+
uses: actions/checkout@v6
305305
with:
306306
repository: mparticle/mparticle-android-sdk
307307
ref: regression/${{ github.run_number }}
@@ -312,12 +312,12 @@ jobs:
312312
java-version: "17"
313313
cache: "gradle"
314314
- name: "Build Android Core"
315-
run: ./gradlew -PisRelease=true clean publishReleaseLocal
315+
run: ./gradlew clean publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
316316
- name: "Test Kits"
317-
run: ./gradlew -PisRelease=true clean testRelease publishReleaseLocal -c settings-kits.gradle
318-
- name: "Test Isolated Kits (urbanairship)"
317+
run: ./gradlew clean testRelease -c settings-kits.gradle
318+
- name: "Test Isolated Kits (urbanairship-kit)"
319319
working-directory: kits/urbanairship/urbanairship-20
320-
run: ./gradlew -PisRelease=true clean testRelease publishReleaseLocal
320+
run: ./gradlew clean testRelease
321321

322322
semantic-release-dryrun:
323323
name: "Test Semantic Release - Dry Run"
@@ -331,7 +331,7 @@ jobs:
331331
GIT_COMMITTER_EMAIL: developers@mparticle.com
332332
steps:
333333
- name: "Checkout public main branch"
334-
uses: actions/checkout@v6.0.2
334+
uses: actions/checkout@v6
335335
with:
336336
fetch-depth: 0
337337
ref: main
@@ -362,7 +362,7 @@ jobs:
362362
GIT_COMMITTER_EMAIL: developers@mparticle.com
363363
steps:
364364
- name: "Checkout repo"
365-
uses: actions/checkout@v6.0.2
365+
uses: actions/checkout@v6
366366
with:
367367
token: ${{ secrets.MP_SEMANTIC_RELEASE_BOT }}
368368
fetch-depth: 0

.github/workflows/pull-request.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
runs-on: ubuntu-latest
7676
steps:
7777
- name: "Checkout Branch"
78-
uses: actions/checkout@v6.0.2
78+
uses: actions/checkout@v6
7979
- name: "Install JDK 17"
8080
uses: actions/setup-java@v5
8181
with:
@@ -95,11 +95,11 @@ jobs:
9595

9696
lint-checks:
9797
name: "Lint Checks"
98-
timeout-minutes: 15
98+
timeout-minutes: 20
9999
runs-on: macos-latest
100100
steps:
101101
- name: "Checkout Branch"
102-
uses: actions/checkout@v6.0.2
102+
uses: actions/checkout@v6
103103
- name: "Install JDK 17"
104104
uses: actions/setup-java@v5
105105
with:
@@ -108,7 +108,7 @@ jobs:
108108
- name: "Run Android Core SDK Lint"
109109
run: ./gradlew lint
110110
- name: "Setup Android Kit Lint"
111-
run: ./gradlew publishReleaseLocal
111+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
112112
- name: "Run Android Kit Lint"
113113
run: ./gradlew -c settings-kits.gradle lint
114114
- name: "Archive Lint Test Results"
@@ -124,7 +124,7 @@ jobs:
124124
runs-on: macos-latest
125125
steps:
126126
- name: "Checkout Branch"
127-
uses: actions/checkout@v6.0.2
127+
uses: actions/checkout@v6
128128
- name: "Install JDK 17"
129129
uses: actions/setup-java@v5
130130
with:
@@ -133,7 +133,7 @@ jobs:
133133
- name: "Run Android Core SDK Kotlin Lint"
134134
run: ./gradlew ktlintCheck
135135
- name: "Setup Android Kit Kotlin Lint"
136-
run: ./gradlew publishReleaseLocal
136+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
137137
- name: "Run Android Kit Kotlin Lint"
138138
run: ./gradlew -c settings-kits.gradle ktlintCheck
139139
- name: "Archive Kotlin Lint Test Results"
@@ -155,18 +155,18 @@ jobs:
155155
if: github.event_name == 'pull_request'
156156
steps:
157157
- name: "Checkout Branch"
158-
uses: actions/checkout@v6.0.2
158+
uses: actions/checkout@v6
159159
- name: "Install JDK 17"
160160
uses: actions/setup-java@v5
161161
with:
162162
distribution: "zulu"
163163
java-version: "17"
164164
- name: "Generate Core Release Build"
165-
run: ./gradlew -PisRelease=true publishLocal
165+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=$(head -n 1 VERSION)
166166
- name: "Run Kit-Base Release Tests and Build"
167-
run: ./gradlew -PisRelease=true :android-kit-base:testRelease
167+
run: ./gradlew :android-kit-base:testRelease -PVERSION=$(head -n 1 VERSION)
168168
- name: "Run Kit Release Tests and Build"
169-
run: ./gradlew -PisRelease=true -p kits testRelease -c ../settings-kits.gradle
169+
run: ./gradlew -p kits testRelease -c ../settings-kits.gradle -PVERSION=$(head -n 1 VERSION)
170170
- name: "Run Isolated Kit Compatibility Tests (urbanairship)"
171171
working-directory: kits/urbanairship/urbanairship-20
172172
run: ./gradlew -PisRelease=true testRelease
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Release – Draft
2+
3+
on:
4+
workflow_dispatch: # checkov:skip=CKV_GHA_7
5+
inputs:
6+
bump-type:
7+
description: "Specify if the version should be bumped as patch, minor, or major"
8+
required: true
9+
type: choice
10+
options:
11+
- patch
12+
- minor
13+
- major
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: true
18+
19+
permissions:
20+
contents: write
21+
pull-requests: write
22+
23+
jobs:
24+
publish-draft-release:
25+
runs-on: ubuntu-latest
26+
env:
27+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY }}
28+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PASSWORD }}
29+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
30+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
31+
steps:
32+
- name: Checkout repository
33+
uses: actions/checkout@v6
34+
with:
35+
fetch-depth: 0
36+
37+
- name: Install JDK 17
38+
uses: actions/setup-java@v5
39+
with:
40+
distribution: "zulu"
41+
java-version: "17"
42+
43+
- name: Setup Gradle
44+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
45+
46+
- name: Get current version
47+
id: version-file
48+
run: |
49+
version_from_file=$(head -n 1 VERSION)
50+
echo "release-version=$version_from_file" >> $GITHUB_OUTPUT
51+
52+
- name: Bump version
53+
id: bump-version
54+
uses: actions-ecosystem/action-bump-semver@34e334551143a5301f38c830e44a22273c6ff5c5 # v1.0.0
55+
with:
56+
current_version: ${{ steps.version-file.outputs.release-version }}
57+
level: ${{ github.event.inputs.bump-type || 'patch' }}
58+
59+
- name: Save bumped version to file
60+
run: |
61+
echo "${{ steps.bump-version.outputs.new_version }}" > VERSION
62+
63+
- name: Publish to Maven local (smoke test)
64+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=${{ steps.bump-version.outputs.new_version }}
65+
66+
- name: Create Pull Request
67+
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
68+
with:
69+
token: ${{ secrets.MP_SEMANTIC_RELEASE_BOT }}
70+
commit-message: "chore: prepare release ${{ steps.bump-version.outputs.new_version }}"
71+
branch: release/${{ steps.bump-version.outputs.new_version }}
72+
title: "Prepare release ${{ steps.bump-version.outputs.new_version }}"
73+
base: main
74+
body: |
75+
Preparing for release ${{ steps.bump-version.outputs.new_version }}
76+
- Bumped version to ${{ steps.bump-version.outputs.new_version }}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Release – Publish
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- VERSION
9+
10+
permissions:
11+
contents: write
12+
13+
jobs:
14+
setup-and-version:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
final_version: ${{ steps.version-file.outputs.release-version }}
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v6
21+
22+
- name: Get current version
23+
id: version-file
24+
run: |
25+
version_from_file=$(head -n 1 VERSION)
26+
echo "release-version=$version_from_file" >> $GITHUB_OUTPUT
27+
28+
build-and-release:
29+
needs: setup-and-version
30+
runs-on: ubuntu-latest
31+
env:
32+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY }}
33+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PASSWORD }}
34+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
35+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
36+
steps:
37+
- name: Checkout repository
38+
uses: actions/checkout@v6
39+
40+
- name: Install JDK 17
41+
uses: actions/setup-java@v5
42+
with:
43+
distribution: "zulu"
44+
java-version: "17"
45+
46+
- name: Setup Gradle
47+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
48+
49+
- name: Publish core to Maven local (required before kits can compile)
50+
run: ./gradlew publishMavenPublicationToMavenLocal -PVERSION=${{ needs.setup-and-version.outputs.final_version }}
51+
52+
- name: Publish core to Maven Central
53+
run: ./gradlew publishMavenPublicationToMavenCentralRepository -PVERSION=${{ needs.setup-and-version.outputs.final_version }}
54+
55+
- name: Publish kits to Maven Central
56+
run: ./gradlew publishMavenPublicationToMavenCentralRepository -PVERSION=${{ needs.setup-and-version.outputs.final_version }} -c settings-kits.gradle
57+
58+
- name: Create GitHub release
59+
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
60+
with:
61+
makeLatest: true
62+
tag: ${{ needs.setup-and-version.outputs.final_version }}
63+
body: |
64+
Release ${{ needs.setup-and-version.outputs.final_version }}

0 commit comments

Comments
 (0)