From 1b9d339a13c4ac7d5adeab31a229471b249b7caa Mon Sep 17 00:00:00 2001 From: James Newman Date: Wed, 27 May 2026 15:51:23 -0400 Subject: [PATCH] fix(ci): pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The isolated urbanairship-kit lint/test steps in daily.yml and the kit-compatibility test in pull-request.yml run `./gradlew` from inside the kit dir without `-Pversion=...`. The kit's standalone build.gradle defaults `project.version = '+'`, so its `com.mparticle:android-kit-plugin` dependency resolves to the highest version on Maven Central — now `6.0.0-rc.1` (published 2026-05-22), which renamed/removed kit-base symbols and broke the kit's compile. Mirror the pattern already used in the Sonatype Release job: extract the SDK version via `./gradlew -q properties` and pass it as `-Pversion=...` to every standalone kit invocation, so it resolves the freshly-published mavenLocal artifact instead of the RC. Affected steps: - lint-checks → Run Isolated Kit Lint (urbanairship-kit) - kotlin-lint-checks → Run Isolated Kit Kotlin Lint (urbanairship-kit) - update-kits → Test Isolated Kits (urbanairship-kit) - kit-compatibility-test → Run Isolated Kit Compatibility Tests (urbanairship-kit) The companion defensive fix in mparticle-android-integration-urbanairship pins the kit's standalone `project.version` to `[5.0,6.0)`. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/daily.yml | 15 ++++++++++++--- .github/workflows/pull-request.yml | 5 ++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index b15a2a642..bbd206621 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -245,9 +245,12 @@ jobs: run: ./gradlew publishReleaseLocal - name: "Run Android Kit Lint" run: ./gradlew publishReleaseLocal -c settings-kits.gradle lint + - name: "Get SDK version for isolated kits" + id: sdk-version + run: echo "version=$(./gradlew -q properties | grep '^version:' | awk '{print $2}')" >> $GITHUB_OUTPUT - name: "Run Isolated Kit Lint (urbanairship-kit)" working-directory: kits/urbanairship-kit - run: ./gradlew lint + run: ./gradlew -Pversion=${{ steps.sdk-version.outputs.version }} lint - name: "Archive Test Results" uses: actions/upload-artifact@v7 if: always() @@ -284,9 +287,12 @@ jobs: run: ./gradlew publishReleaseLocal - name: "Run Android Kit Kotlin Lint" run: ./gradlew publishReleaseLocal -c settings-kits.gradle ktlintCheck + - name: "Get SDK version for isolated kits" + id: sdk-version + run: echo "version=$(./gradlew -q properties | grep '^version:' | awk '{print $2}')" >> $GITHUB_OUTPUT - name: "Run Isolated Kit Kotlin Lint (urbanairship-kit)" working-directory: kits/urbanairship-kit - run: ./gradlew ktlintCheck + run: ./gradlew -Pversion=${{ steps.sdk-version.outputs.version }} ktlintCheck - name: "Archive Test Results" uses: actions/upload-artifact@v7 if: always() @@ -326,9 +332,12 @@ jobs: run: ./gradlew -PisRelease=true clean publishReleaseLocal - name: "Test Kits" run: ./gradlew -PisRelease=true clean testRelease publishReleaseLocal -c settings-kits.gradle + - name: "Get SDK version for isolated kits" + id: sdk-version + run: echo "version=$(./gradlew -PisRelease=true -q properties | grep '^version:' | awk '{print $2}')" >> $GITHUB_OUTPUT - name: "Test Isolated Kits (urbanairship-kit)" working-directory: kits/urbanairship-kit - run: ./gradlew -PisRelease=true clean testRelease publishReleaseLocal + run: ./gradlew -PisRelease=true -Pversion=${{ steps.sdk-version.outputs.version }} clean testRelease publishReleaseLocal semantic-release-dryrun: name: "Test Semantic Release - Dry Run" diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fe063da8e..75160efb3 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -254,9 +254,12 @@ jobs: run: ./gradlew -PisRelease=true :android-kit-base:testRelease - name: "Run Kit Release Tests and Build" run: ./gradlew -PisRelease=true -p kits testRelease -c ../settings-kits.gradle + - name: "Get SDK version for isolated kits" + id: sdk-version + run: echo "version=$(./gradlew -PisRelease=true -q properties | grep '^version:' | awk '{print $2}')" >> $GITHUB_OUTPUT - name: "Run Isolated Kit Compatibility Tests (urbanairship-kit)" working-directory: kits/urbanairship-kit - run: ./gradlew -PisRelease=true testRelease + run: ./gradlew -PisRelease=true -Pversion=${{ steps.sdk-version.outputs.version }} testRelease automerge-dependabot: name: "Save PR Number for Dependabot Automerge"