Skip to content

Commit b28013c

Browse files
committed
Debug json data
1 parent 3800b90 commit b28013c

File tree

6 files changed

+64
-14
lines changed

6 files changed

+64
-14
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
on:
2+
pull_request:
3+
push:
4+
5+
jobs:
6+
printJob:
7+
name: Print event
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Dump GitHub context
11+
env:
12+
GITHUB_CONTEXT: ${{ toJson(github) }}
13+
run: |
14+
echo "$GITHUB_CONTEXT"

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/NoVcsEmergePluginTest.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ class NoVcsEmergePluginTest : EmergePluginTest() {
7575
fun `Assert GitHub PR sha overwrites sha`() {
7676
val project = SimpleGradleProject.createWithoutVcsInExtension(this)
7777
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
78-
.withArguments("logExtension")
78+
.withArguments("logExtension", "--stacktrace")
7979
.withGithubPR()
80+
.withJavaVersionFromAgp(project.agpVersion)
8081
.build()
8182

8283
assertThat(runner).task(":app:logExtension").succeeded()
@@ -99,8 +100,9 @@ class NoVcsEmergePluginTest : EmergePluginTest() {
99100
fun `Assert GitHub push env sha overwrites sha`() {
100101
val project = SimpleGradleProject.createWithoutVcsInExtension(this)
101102
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
102-
.withArguments("logExtension")
103+
.withArguments("logExtension", "--stacktrace")
103104
.withGitHubPushEvent()
105+
.withJavaVersionFromAgp(project.agpVersion)
104106
.build()
105107

106108
assertThat(runner).apply {

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/SimpleEmergePluginTest.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@ import com.emergetools.android.gradle.base.EmergeGradleRunner.Companion.LATEST_A
55
import com.emergetools.android.gradle.base.EmergeGradleRunner2
66
import com.emergetools.android.gradle.mocks.assertSuccessfulUploadRequests
77
import com.emergetools.android.gradle.projects.SimpleGradleProject
8-
import com.google.common.truth.Truth.assertThat
98
import org.gradle.util.GradleVersion
109
import org.junit.jupiter.api.Test
11-
import java.io.File
1210

1311
class SimpleEmergePluginTest : EmergePluginTest() {
1412
@Test
1513
fun simpleBundle() {
1614
val project = SimpleGradleProject.createWithVcsInExtension(this)
1715
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
1816
.withArguments("emergeUploadReleaseAab")
17+
.withJavaVersionFromAgp(project.agpVersion)
1918
.build()
2019

2120
assertSuccessfulUploadRequests(server)
@@ -27,6 +26,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
2726
val project = SimpleGradleProject.createWithVcsInExtension(this, LATEST_AGP_7_VERSION)
2827
val runner = EmergeGradleRunner2(project.gradleProject.rootDir, GradleVersion.version("7.5.1"))
2928
.withArguments("emergeUploadReleaseAab")
29+
.withJavaVersionFromAgp(LATEST_AGP_7_VERSION)
3030
.build()
3131

3232
assertSuccessfulUploadRequests(server)
@@ -39,6 +39,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
3939
val project = SimpleGradleProject.createWithVcsInExtension(this)
4040
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
4141
.withArguments("emergeUploadReleaseAab")
42+
.withJavaVersionFromAgp(project.agpVersion)
4243
.buildAndFail()
4344

4445
assertThat(runner).task(":app:emergeUploadReleaseAab").failed()
@@ -49,6 +50,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
4950
val project = SimpleGradleProject.createWithVcsInExtension(this)
5051
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
5152
.withArguments("emergeUploadReleaseApk")
53+
.withJavaVersionFromAgp(project.agpVersion)
5254
.build()
5355

5456
assertSuccessfulUploadRequests(server)
@@ -61,6 +63,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
6163
val project = SimpleGradleProject.createWithVcsInExtension(this)
6264
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
6365
.withArguments("emergeUploadReleaseApk")
66+
.withJavaVersionFromAgp(project.agpVersion)
6467
.buildAndFail()
6568

6669
assertThat(runner).task(":app:emergeUploadReleaseApk").failed()
@@ -71,6 +74,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
7174
val project = SimpleGradleProject.createWithVcsInExtension(this)
7275
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
7376
.withArguments("logExtension")
77+
.withJavaVersionFromAgp(project.agpVersion)
7478
.withGithubPR()
7579
.build()
7680

@@ -85,6 +89,4 @@ class SimpleEmergePluginTest : EmergePluginTest() {
8589
╠═ previousSha: testPreviousSha
8690
""".trimIndent())
8791
}
88-
89-
9092
}

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/base/EmergeGradleRunner2.kt

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,70 @@ package com.emergetools.android.gradle.base
22

33
import com.autonomousapps.kit.GradleBuilder
44
import org.gradle.testkit.runner.BuildResult
5+
import org.gradle.testkit.runner.GradleRunner
56
import org.gradle.util.GradleVersion
67
import java.io.File
78

89
/**
910
* Like EmergeGradleRunner but decouples the runner from the server and the gradle project
1011
*/
1112
class EmergeGradleRunner2(projectDir: File, gradleVersion: GradleVersion = GradleVersion.current()) {
13+
private val runner = GradleBuilder.runner(gradleVersion, projectDir)
1214

13-
val runner = GradleBuilder.runner(gradleVersion, projectDir)
15+
init {
16+
// appendEnvironment("GIT_DIR" to projectDir.path)
17+
appendEnvironment(System.getenv())
18+
}
1419

1520
fun withArguments(vararg args: String): EmergeGradleRunner2 {
1621
runner.withArguments(*args)
1722
return this
1823
}
1924

20-
fun withGithubPR() : EmergeGradleRunner2 {
25+
// TODO we should stop using this and instead use Java toolchain support
26+
fun withJavaVersionFromAgp(agpVersion: String): EmergeGradleRunner2 {
27+
val javaVersion = if (agpVersion.startsWith("7")) {
28+
"11"
29+
} else {
30+
"17"
31+
}
32+
return apply {
33+
val arch = if (System.getProperty("os.arch") == "aarch64") "aarch64" else "X64"
34+
val javaHomeEnvKey = "JAVA_HOME_${javaVersion}_$arch"
35+
runner.withArguments(runner.arguments + "-Dorg.gradle.java.home=${System.getenv(javaHomeEnvKey)}")
36+
}
37+
}
38+
39+
fun withGithubPR(): EmergeGradleRunner2 {
2140
val resource = this.javaClass.getResource("/github-event-mocks/mock_pr_event.json")!!
2241
val jsonFile = File(resource.toURI())
2342

24-
runner.withEnvironment(mapOf(
43+
return appendEnvironment(
2544
"GITHUB_EVENT_NAME" to "pull_request",
2645
"GITHUB_EVENT_PATH" to jsonFile.path,
27-
))
28-
return this
46+
)
2947
}
3048

3149
fun withGitHubPushEvent(): EmergeGradleRunner2 {
3250
val resource = this.javaClass.getResource("/github-event-mocks/mock_push_event.json")!!
3351
val jsonFile = File(resource.toURI())
3452

35-
runner.withEnvironment(mapOf(
53+
return appendEnvironment(
3654
"GITHUB_EVENT_NAME" to "push",
3755
"GITHUB_EVENT_PATH" to jsonFile.path,
3856
"GITHUB_SHA" to "github_env_sha",
39-
))
57+
)
58+
}
59+
60+
private fun appendEnvironment(vararg pairs: Pair<String, String>) : EmergeGradleRunner2 {
61+
val currentEnv = runner.environment?.toMutableMap() ?: mutableMapOf()
62+
runner.withEnvironment(currentEnv.plus(pairs))
63+
return this
64+
}
65+
66+
private fun appendEnvironment(map: Map<String, String>) : EmergeGradleRunner2 {
67+
val currentEnv = runner.environment?.toMutableMap() ?: mutableMapOf()
68+
runner.withEnvironment(currentEnv.plus(map))
4069
return this
4170
}
4271

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/projects/SimpleGradleProject.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import com.emergetools.android.gradle.EmergePluginTest
1313
import com.emergetools.android.gradle.base.EmergeGradleRunner
1414

1515
class SimpleGradleProject(
16-
agpVersion: String,
16+
val agpVersion: String,
1717
private val baseUrl: String,
1818
private val emergeExtension: String
1919
) : AbstractGradleProject() {

gradle-plugin/plugin/src/main/kotlin/com/emergetools/android/gradle/util/GitHub.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ internal class GitHub(private val execOperations: ExecOperations) {
2929
}
3030

3131
fun isSupportedGitHubEvent(): Boolean {
32+
println("IS_SUPPORTED GITHUB EVENT ${getEvent()}")
3233
return isPullRequest() || isPush()
3334
}
3435

@@ -84,6 +85,8 @@ internal class GitHub(private val execOperations: ExecOperations) {
8485
}
8586

8687
private fun getPullRequestEventData(): GitHubPullRequestEvent {
88+
println("decoding pull request event data")
89+
println("getEventDataString() ${getEventDataString()}")
8790
return json.decodeFromString(getEventDataString())
8891
}
8992

0 commit comments

Comments
 (0)