diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
index fa07eabc3..8a2b59f8d 100644
--- a/.github/workflows/maven-build.yml
+++ b/.github/workflows/maven-build.yml
@@ -2,14 +2,18 @@ name: CI
on: [push, pull_request]
+# this is required by spotless for JDK 16+
+env:
+ JAVA_11_PLUS_MAVEN_OPTS: "--add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"
jobs:
build:
name: build-only (Java ${{ matrix.java }})
runs-on: ubuntu-latest
strategy:
+ fail-fast: false
matrix:
- java: [ 13 ]
+ java: [ 16 ]
steps:
- uses: actions/checkout@v2
- name: Set up JDK
@@ -24,11 +28,14 @@ jobs:
restore-keys: |
${{ runner.os }}-maven-
- name: Maven Install (skipTests)
+ env:
+ MAVEN_OPTS: ${{ env.JAVA_11_PLUS_MAVEN_OPTS }}
run: mvn -B install -DskipTests -D enable-ci --file pom.xml
site:
name: site (Java ${{ matrix.java }})
runs-on: ubuntu-latest
strategy:
+ fail-fast: false
matrix:
java: [ 8, 11 ]
steps:
@@ -49,9 +56,10 @@ jobs:
name: test (${{ matrix.os }}, Java ${{ matrix.java }})
runs-on: ${{ matrix.os }}-latest
strategy:
+ fail-fast: false
matrix:
os: [ ubuntu, windows ]
- java: [ 8, 11, 13, 15-ea ]
+ java: [ 8, 11, 16 ]
steps:
- uses: actions/checkout@v2
- name: Set up JDK
@@ -64,9 +72,21 @@ jobs:
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
+ # JDK 8
- name: Maven Install without Code Coverage
- if: matrix.os == 'windows'
+ if: matrix.os == 'windows' && matrix.java == '8'
run: mvn -B install --file pom.xml
- name: Maven Install with Code Coverage
- if: matrix.os != 'windows'
+ if: matrix.os != 'windows' && matrix.java == '8'
+ run: mvn -B install -D enable-ci --file pom.xml
+ # JDK 11+
+ - name: Maven Install without Code Coverage
+ if: matrix.os == 'windows' && matrix.java != '8'
+ env:
+ MAVEN_OPTS: ${{ env.JAVA_11_PLUS_MAVEN_OPTS }}
+ run: mvn -B install --file pom.xml
+ - name: Maven Install with Code Coverage
+ if: matrix.os != 'windows' && matrix.java != '8'
+ env:
+ MAVEN_OPTS: ${{ env.JAVA_11_PLUS_MAVEN_OPTS }}
run: mvn -B install -D enable-ci --file pom.xml
diff --git a/pom.xml b/pom.xml
index e18e28a7f..cef2825ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,8 @@
false
0.11.2
+
+
@@ -272,6 +274,7 @@
default-test
src/test/resources/slow-or-flaky-tests.txt
+ ${surefire.argLine}
@@ -284,6 +287,7 @@
2
src/test/resources/slow-or-flaky-tests.txt
+ ${surefire.argLine}
@@ -561,6 +565,16 @@
+
+ jdk11+
+
+ [11,)
+
+
+
+ --add-opens java.base/java.net=ALL-UNNAMED
+
+
ci-non-windows
diff --git a/src/test/java/org/kohsuke/github/GitHubConnectionTest.java b/src/test/java/org/kohsuke/github/GitHubConnectionTest.java
index 0fb168eae..98be781fa 100644
--- a/src/test/java/org/kohsuke/github/GitHubConnectionTest.java
+++ b/src/test/java/org/kohsuke/github/GitHubConnectionTest.java
@@ -1,13 +1,20 @@
package org.kohsuke.github;
+import org.junit.Assume;
import org.junit.Test;
import org.kohsuke.github.authorization.UserAuthorizationProvider;
import java.io.IOException;
import java.lang.reflect.Field;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.lessThan;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
/**
* Unit test for {@link GitHub}.
@@ -56,6 +63,8 @@ public class GitHubConnectionTest extends AbstractGitHubWireMockTest {
@Test
public void testGitHubBuilderFromEnvironment() throws IOException {
+ // we disable this test for JDK 16+ as the current hacks in setupEnvironment() don't work with JDK 16+
+ Assume.assumeThat(Double.valueOf(System.getProperty("java.specification.version")), lessThan(16.0));
Map props = new HashMap();
@@ -98,6 +107,9 @@ public class GitHubConnectionTest extends AbstractGitHubWireMockTest {
@Test
public void testGitHubBuilderFromCustomEnvironment() throws IOException {
+ // we disable this test for JDK 16+ as the current hacks in setupEnvironment() don't work with JDK 16+
+ Assume.assumeThat(Double.valueOf(System.getProperty("java.specification.version")), lessThan(16.0));
+
Map props = new HashMap();
props.put("customEndpoint", "bogus endpoint url");