diff --git a/.github/workflows/jtreg.yml b/.github/workflows/jtreg.yml index fc7bacd..7ead5c1 100644 --- a/.github/workflows/jtreg.yml +++ b/.github/workflows/jtreg.yml @@ -62,6 +62,11 @@ jobs: ~/.cache/java-web/jdk-* ~/.cache/java-web/dejavu-* key: jdk-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('scripts/build-jdk.sh') }} + # TestNG and JUnit, which scripts/jtreg/run.ts fetches from Maven Central + - uses: actions/cache@v6 + with: + path: build/jtreg/lib + key: jtreg-lib-${{ hashFiles('scripts/jtreg/run.ts') }} - run: pnpm install --frozen-lockfile - run: pnpm jdk # each test VM starts from the bundle, which loads faster than src/ diff --git a/scripts/jtreg/run.ts b/scripts/jtreg/run.ts index 5aa1aa5..7d8dee1 100644 --- a/scripts/jtreg/run.ts +++ b/scripts/jtreg/run.ts @@ -227,7 +227,12 @@ async function fetchFrameworks(): Promise { for (const [path, sha1] of frameworkJars) { const jar = join(lib, path.slice(path.lastIndexOf("/") + 1)); if (!existsSync(jar)) { - const res = await fetch(maven + path); + // Maven Central answers 429 when many CI jobs start at once + let res = await fetch(maven + path); + for (let wait = 5; (res.status === 429 || res.status >= 500) && wait <= 80; wait *= 2) { + await new Promise((r) => setTimeout(r, wait * 1000)); + res = await fetch(maven + path); + } if (!res.ok) throw new Error(`${res.status} fetching ${path}`); const bytes = Buffer.from(await res.arrayBuffer()); const sum = createHash("sha1").update(bytes).digest("hex"); diff --git a/test/jtreg/passing.txt b/test/jtreg/passing.txt index cdfb06c..d35c862 100644 --- a/test/jtreg/passing.txt +++ b/test/jtreg/passing.txt @@ -1426,7 +1426,6 @@ java/math/BigDecimal/ToPlainStringTests.java java/math/BigDecimal/ValueOfDouble.java java/math/BigDecimal/ZeroScalingTests.java java/math/BigInteger/BigIntegerParallelMultiplyTest.java -java/math/BigInteger/BitLengthOverflow.java java/math/BigInteger/CompareToTests.java java/math/BigInteger/DoubleValueOverflow.java java/math/BigInteger/HashCode.java diff --git a/test/jtreg/times.tsv b/test/jtreg/times.tsv index 46d0c63..0d435c2 100644 --- a/test/jtreg/times.tsv +++ b/test/jtreg/times.tsv @@ -2760,7 +2760,6 @@ 2393 java/beans/PropertyEditor/TestEnumSubclassValue.java 2392 java/util/PriorityQueue/RemoveContains.java 2389 java/nio/MappedByteBuffer/ForceViews.java -2389 java/math/BigInteger/BitLengthOverflow.java 2389 java/io/Externalizable/compatibility/ExternalizableBlockData.java 2386 java/security/cert/PKIXBuilderParameters/InvalidParameters.java 2386 java/net/URL/RelativeURLTest.java