Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 4 additions & 27 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,12 @@ jobs:
strategy:
max-parallel: 4
matrix:
java-version: [11, 17, 21]
java-version: [17, 21, 24]
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'

# Special handling to test against Java 8:
# antlr version 4.10 requires Java 11 to run the antlr tool, but tests still need to run
# against Java 8 - that's being done here:
- name: Set up Java 8
if: ${{ matrix.java-version == '11' }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Configure env with Java 8 home
if: ${{ matrix.java-version == '11' }}
run:
echo "JAVA_8_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: Enable Java 8 tests
if: ${{ matrix.java-version == '11' }}
run:
echo "ADDITIONAL_GRADLE_OPTS=-PalsoTestAgainstJava8" >> $GITHUB_ENV
- name: Configure Java 8 home for Gradle
if: ${{ matrix.java-version == '11' }}
run: |
mkdir -p $HOME/.gradle
echo "org.gradle.java.installations.fromEnv=JAVA_8_HOME" >> $HOME/.gradle/gradle.properties

- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
Expand All @@ -69,7 +46,7 @@ jobs:
- name: Spotless Check
# Spotless must run in a different invocation, because
# it has some weird Gradle configuration/variant issue
if: ${{ matrix.java-version != '11' }}
if: ${{ matrix.java-version == '17' }}
run: ./gradlew spotlessCheck --scan

- name: Build
Expand All @@ -84,7 +61,7 @@ jobs:
run: ./gradlew jmh

- name: Cache Bazel stuff
if: ${{ matrix.java-version == '11' }}
if: ${{ matrix.java-version == '17' }}
uses: actions/cache@v4
with:
path: |
Expand All @@ -93,7 +70,7 @@ jobs:
restore-keys: bazel-

- name: Conformance tests
if: ${{ matrix.java-version == '11' }}
if: ${{ matrix.java-version == '17' }}
run: conformance/run-conformance-tests.sh

- name: Capture test results
Expand Down
23 changes: 0 additions & 23 deletions buildSrc/src/main/kotlin/Testing.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,11 @@

import org.gradle.api.Project
import org.gradle.api.tasks.testing.Test
import org.gradle.jvm.toolchain.JavaLanguageVersion
import org.gradle.jvm.toolchain.JavaToolchainService
import org.gradle.kotlin.dsl.register
import org.gradle.kotlin.dsl.withType

fun Project.nessieConfigureTestTasks() {
tasks.withType<Test>().configureEach {
useJUnitPlatform {}
maxParallelForks = Runtime.getRuntime().availableProcessors()
}

if (project.hasProperty("alsoTestAgainstJava8")) {
val javaToolchains = extensions.findByType(JavaToolchainService::class.java)
if (javaToolchains != null) {
val testWithJava8 =
tasks.register<Test>("testWithJava8") {
group = "verification"
description = "Run unit tests against Java 8"

dependsOn("test")

useJUnitPlatform {}
maxParallelForks = Runtime.getRuntime().availableProcessors()
javaLauncher.set(
javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(8)) }
)
}
tasks.named("check") { dependsOn(testWithJava8) }
}
}
}
4 changes: 4 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
* limitations under the License.
*/

if (!JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17)) {
throw GradleException("Build requires Java 17")
}

val baseVersion = file("version.txt").readText().trim()

pluginManagement {
Expand Down