From 6c3261b7319eef645c737a59c22f1bbd4f82d1c5 Mon Sep 17 00:00:00 2001 From: Abhay Sood Date: Fri, 19 Jan 2024 15:48:09 +0530 Subject: [PATCH] ci(android): run gradle plugin tests on CI --- .github/workflows/android.yml | 15 +++++++++++++-- .../measure-gradle-plugin/build.gradle.kts | 2 +- .../measure-gradle-plugin/settings.gradle.kts | 9 ++++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 475f295d6..22295e1fd 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -47,7 +47,7 @@ jobs: permissions: contents: read packages: write - timeout-minutes: 10 + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v3 @@ -59,6 +59,13 @@ jobs: - name: Publish measure-android run: ./gradlew clean :measure:publish --no-daemon --no-parallel --no-configuration-cache --stacktrace + # Certain gradle plugin tests depend on the measure-android artifact being published. We run all the tests for + # measure-android-gradle here to ensure everything works. + - name: Run measure-android-gradle tests + run: ./gradlew clean :measure-gradle-plugin:test --no-daemon --no-parallel --no-configuration-cache --stacktrace + - name: Run measure-android-gradle functional tests + run: ./gradlew clean :measure-gradle-plugin:functionalTest --no-daemon --no-parallel --no-configuration-cache --stacktrace + publish-android-gradle: runs-on: ubuntu-latest needs: [ checks ] @@ -69,7 +76,7 @@ jobs: permissions: contents: read packages: write - timeout-minutes: 10 + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v3 @@ -78,5 +85,9 @@ jobs: distribution: ${{ env.JAVA_DISTRIBUTION }} - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 + - name: Run measure-android-gradle tests + run: ./gradlew clean :measure-gradle-plugin:test --no-daemon --no-parallel --no-configuration-cache --stacktrace + - name: Run measure-android-gradle functional tests + run: ./gradlew clean :measure-gradle-plugin:functionalTest --no-daemon --no-parallel --no-configuration-cache --stacktrace - name: Publish measure-android-gradle run: ./gradlew clean :measure-gradle-plugin:publishMavenPublicationToGitHubPackagesRepository --no-daemon --no-parallel --no-configuration-cache --stacktrace \ No newline at end of file diff --git a/measure-android/measure-gradle-plugin/build.gradle.kts b/measure-android/measure-gradle-plugin/build.gradle.kts index d7f95d329..a18bcfa9f 100644 --- a/measure-android/measure-gradle-plugin/build.gradle.kts +++ b/measure-android/measure-gradle-plugin/build.gradle.kts @@ -78,7 +78,7 @@ dependencies { testImplementation("org.ow2.asm:asm-util:9.6") testImplementation("org.ow2.asm:asm-commons:9.6") testImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0") - testImplementationAar("sh.measure:android:0.0.1-SNAPSHOT") + testImplementationAar("sh.measure:measure-android:0.1.0") functionalTestRuntimeOnly("org.junit.platform:junit-platform-launcher") functionalTestImplementation("org.junit.jupiter:junit-jupiter:5.9.2") diff --git a/measure-android/measure-gradle-plugin/settings.gradle.kts b/measure-android/measure-gradle-plugin/settings.gradle.kts index 2029e24ce..02ac67794 100644 --- a/measure-android/measure-gradle-plugin/settings.gradle.kts +++ b/measure-android/measure-gradle-plugin/settings.gradle.kts @@ -11,7 +11,14 @@ dependencyResolutionManagement { google() mavenCentral() mavenLocal() + maven { + url = uri("https://maven.pkg.github.com/measure-sh/measure") + credentials { + username = extra.properties["gpr.user"] as String? ?: System.getenv("GITHUB_ACTOR") + password = extra.properties["gpr.key"] as String? ?: System.getenv("GITHUB_TOKEN") + } + } } } -rootProject.name = "measure-gradle-plugin" +rootProject.name = "measure-android-gradle"