setup-java/__tests__/distributors
Bruno Borges 27f2c62824
Verify JDK downloads with vendor checksums (#1167)
* Verify JDK downloads with vendor checksums

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Handle missing vendor checksum values

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Preserve checksum error during cleanup failure

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Validate checksum metadata value types

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Clarify checksum documentation

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Expand vendor checksum verification

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Accept SHA-256 or SHA-512 for JetBrains checksum sibling

JetBrains publishes a single, generically-named ".checksum" sibling
whose digest algorithm isn't disclosed by the filename. Older JBR 11
builds (e.g. jbrsdk_nomod-11_0_16-*-b2043.64.tar.gz) publish a SHA-256
digest there, while newer builds publish SHA-512. The JetBrains
installer previously assumed SHA-512 unconditionally, so verification
failed with "Malformed sha512 checksum metadata ... expected a
128-character hexadecimal digest" for those older builds, breaking the
jetbrains 11 e2e job on macOS and Windows.

fetchChecksum now accepts a list of candidate algorithms and infers
the actual algorithm from the returned digest's length, preferring the
strongest match. The JetBrains installer passes ['sha512', 'sha256'];
all other callers are unaffected since they already pass a single,
vendor-disclosed algorithm.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

* Use SapMachine archive checksum files

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a800a031-600e-4d28-b23e-be309555d38d
2026-07-29 04:43:56 -04:00
..
adopt-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
base-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
corretto-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
distribution-factory.test.ts Harden java-package validation (#1165) 2026-07-29 00:50:01 -04:00
dragonwell-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
graalvm-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
jetbrains-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
kona-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
liberica-installer.test.ts Migrate to ESM and upgrade dependencies (#1078) 2026-07-08 10:15:00 +01:00
liberica-linux-installer.test.ts Migrate to ESM and upgrade dependencies (#1078) 2026-07-08 10:15:00 +01:00
liberica-nik-installer.test.ts dist: Support Liberica NIK (#878) (#1112) 2026-07-14 14:49:31 -04:00
liberica-windows-installer.test.ts Migrate to ESM and upgrade dependencies (#1078) 2026-07-08 10:15:00 +01:00
local-installer.test.ts Add force-download option for reproducible JDK builds (#1148) 2026-07-28 14:43:47 -04:00
microsoft-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
openjdk-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
oracle-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
sapmachine-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
semeru-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
temurin-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
zulu-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
zulu-linux-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00
zulu-windows-installer.test.ts Verify JDK downloads with vendor checksums (#1167) 2026-07-29 04:43:56 -04:00