Skip to content

Commit 470b786

Browse files
authored
chore: Update CI to better test plugin in diff environments (#208)
Previously, we ran the plugin compilation itself against older gradle versions. This isn't actually what happens for users, this changes our versions to instead change how we execute our tests. We test and verify against versions roughly 1 year old for backwards compatibility.
1 parent 31af205 commit 470b786

File tree

14 files changed

+59
-23
lines changed

14 files changed

+59
-23
lines changed

.github/workflows/ci.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ on: [ push, pull_request ]
33

44
jobs:
55
ci:
6-
runs-on: ubuntu-latest
6+
strategy:
7+
matrix:
8+
gradle-version: [ '7.6.4', '8.7', '8.12.1', 'current' ]
9+
os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
10+
11+
runs-on: ${{ matrix.os }}
712
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main')
813

914
steps:
@@ -18,7 +23,8 @@ jobs:
1823

1924
- uses: gradle/actions/setup-gradle@v4
2025
with:
21-
gradle-version: '8.12.1'
26+
gradle-version: 8.12.1
2227

2328
- run:
24-
./gradlew check --continue
29+
./gradlew check --continue -Dtest.gradle.version.override='${{ matrix.gradle-version }}'
30+
shell: bash

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ tasks.test {
9898
useJUnitPlatform()
9999

100100
jvmArgs("-Djunit.jupiter.extensions.autodetection.enabled=true")
101+
102+
systemProperty("test.gradle.version", gradle.gradleVersion)
101103
}
102104

103105
sourceSets {

gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
org.gradle.configuration-cache=true
22
org.gradle.caching=true
3+
org.gradle.parallel=true
4+
org.gradle.daemon=true
5+
6+
org.gradle.jvmargs=-Xmx1024M
7+

src/test/kotlin/org/assertj/generator/gradle/IncrementalBuild.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package org.assertj.generator.gradle
1414

1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.core.api.Assertions.assertThat
17+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1718
import org.gradle.testkit.runner.GradleRunner
1819
import org.junit.jupiter.api.Test
1920
import java.io.File
@@ -39,7 +40,7 @@ internal class IncrementalBuild {
3940
@GradleProject.Root root: File,
4041
@GradleProject.Runner runner: GradleRunner,
4142
) {
42-
val buildRunner = runner.withArguments("-i", "-s", "build")
43+
val buildRunner = runner.withCiGradle().withArguments("-i", "-s", "build")
4344

4445
val firstBuild = buildRunner.build()
4546

@@ -61,7 +62,7 @@ internal class IncrementalBuild {
6162
@GradleProject.Root root: File,
6263
@GradleProject.Runner runner: GradleRunner,
6364
) {
64-
val buildRunner = runner.withArguments("-i", "-s", "build")
65+
val buildRunner = runner.withCiGradle().withArguments("-i", "-s", "build")
6566

6667
val firstBuild = buildRunner.build()
6768

src/test/kotlin/org/assertj/generator/gradle/KotlinSourcesBuild.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package org.assertj.generator.gradle
1414

1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.core.api.Assertions.assertThat
17+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1718
import org.gradle.testkit.runner.GradleRunner
1819
import org.junit.jupiter.api.Test
1920
import java.io.File
@@ -25,7 +26,7 @@ internal class KotlinSourcesBuild {
2526
@GradleProject.Root root: File,
2627
@GradleProject.Runner runner: GradleRunner,
2728
) {
28-
val result = runner.withArguments("-i", "-s", "test").build()
29+
val result = runner.withCiGradle().withArguments("-i", "-s", "test").build()
2930

3031
assertThat(result.task(":generateAssertJ")).isSuccessful()
3132
assertThat(result.task(":test")).isSuccessful()

src/test/kotlin/org/assertj/generator/gradle/SimpleBuild.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package org.assertj.generator.gradle
1414

1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.core.api.Assertions.assertThat
17+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1718
import org.assertj.generator.gradle.TestUtils.writeBuildFile
1819
import org.assertj.generator.gradle.TestUtils.writeDefaultBuildFile
1920
import org.gradle.testkit.runner.GradleRunner
@@ -36,7 +37,7 @@ internal class SimpleBuild {
3637
) {
3738
root.buildFile.writeDefaultBuildFile()
3839

39-
val result = runner.withArguments("-i", "-s", "test").build()
40+
val result = runner.withCiGradle().withArguments("-i", "-s", "test").build()
4041

4142
assertThat(result.task(":generateAssertJ")).isSuccessful()
4243
assertThat(result.task(":test")).isSuccessful()
@@ -60,7 +61,7 @@ internal class SimpleBuild {
6061
"""
6162
)
6263

63-
val result = runner.withArguments("-i", "-s", "test").build()
64+
val result = runner.withCiGradle().withArguments("-i", "-s", "test").build()
6465

6566
assertThat(result.task(":generateAssertJ")).isSuccessful()
6667
assertThat(result.task(":test")).isSuccessful()

src/test/kotlin/org/assertj/generator/gradle/SkipPackageInfo.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package org.assertj.generator.gradle
1414

1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.core.api.Assertions.assertThat
17+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1718
import org.gradle.testkit.runner.GradleRunner
1819
import org.junit.jupiter.api.Test
1920
import java.io.File
@@ -33,7 +34,7 @@ internal class SkipPackageInfo {
3334
@GradleProject.Root root: File,
3435
@GradleProject.Runner runner: GradleRunner,
3536
) {
36-
val result = runner.withArguments("-i", "-s", "check").build()
37+
val result = runner.withCiGradle().withArguments("-i", "-s", "check").build()
3738

3839
assertThat(result.task(":generateAssertJ")).isSuccessful()
3940
assertThat(result.task(":test")).isSuccessful()

src/test/kotlin/org/assertj/generator/gradle/TestUtils.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313
package org.assertj.generator.gradle
1414

15+
import org.gradle.testkit.runner.GradleRunner
1516
import org.intellij.lang.annotations.Language
1617
import java.io.File
1718

@@ -76,5 +77,12 @@ internal object TestUtils {
7677
)
7778
}
7879

79-
fun File.writeDefaultBuildKts(): Unit = this.writeBuildKts("")
80+
fun GradleRunner.withCiGradle(): GradleRunner {
81+
return withGradleVersion(
82+
System.getProperty(
83+
"test.gradle.version.override",
84+
System.getProperty("test.gradle.version")
85+
)
86+
)
87+
}
8088
}

src/test/kotlin/org/assertj/generator/gradle/parameter/ClassesFilter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ package org.assertj.generator.gradle.parameter
1414

1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.core.api.Assertions.assertThat
17+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1718
import org.assertj.generator.gradle.isSuccessful
1819
import org.assertj.generator.gradle.writeGroovy
1920
import org.assertj.generator.gradle.writeJava
@@ -77,7 +78,7 @@ internal class ClassesFilter {
7778

7879
root.setupTestHelloWorld()
7980

80-
runner.runAndAssertBuild()
81+
runner.withCiGradle().runAndAssertBuild()
8182

8283
assertThat(root.generatedBasePackagePath.resolve("hello")).exists()
8384
assertThat(root.generatedBasePackagePath.resolve("other")).doesNotExist()

src/test/kotlin/org/assertj/generator/gradle/parameter/EntryPointGeneration.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ package org.assertj.generator.gradle.parameter
1515
import net.navatwo.gradle.testkit.junit5.GradleProject
1616
import org.assertj.assertions.generator.AssertionsEntryPointType
1717
import org.assertj.core.api.AssertionsForInterfaceTypes.assertThat
18+
import org.assertj.generator.gradle.TestUtils.withCiGradle
1819
import org.assertj.generator.gradle.TestUtils.writeBuildFile
1920
import org.assertj.generator.gradle.isSuccessful
2021
import org.assertj.generator.gradle.isUpToDate
@@ -55,7 +56,7 @@ internal class EntryPointGeneration {
5556
"""
5657
)
5758

58-
val result = runner.withArguments("-i", "-s", "test").build()
59+
val result = runner.withCiGradle().withArguments("-i", "-s", "test").build()
5960

6061
assertThat(result.task(":generateAssertJ")).isSuccessful()
6162
assertThat(result.task(":test")).isSuccessful()

0 commit comments

Comments
 (0)