diff --git a/.github/workflows/manual-all-environments.yml b/.github/workflows/manual-all-environments.yml index 89259fe..34042a6 100644 --- a/.github/workflows/manual-all-environments.yml +++ b/.github/workflows/manual-all-environments.yml @@ -9,7 +9,7 @@ jobs: max-parallel: 3 matrix: # https://docs.github.com/en/actions/using-jobs/choosing-the-runner-for-a-job#choosing-github-hosted-runners - os: [ ubuntu-latest, ubuntu-20.04, macos-latest, macos-14, macos-13, macos-11, windows-latest, windows-2019 ] + os: [ ubuntu-latest, ubuntu-24.04, macos-latest, macos-15, macos-14, macos-13, windows-latest, windows-2025, windows-2022, windows-2019 ] runs-on: ${{ matrix.os }} steps: - name: 'Check out repository' diff --git a/action.yml b/action.yml index aa7a04a..334ed91 100644 --- a/action.yml +++ b/action.yml @@ -45,6 +45,12 @@ runs: - name: 'Download Java Development Kit' id: download shell: bash + env: + WEBSITE: "${{ inputs.website }}" + RELEASE: "${{ inputs.release }}" + VERSION: "${{ inputs.version }}" + INSTALL_AS_VERSION: "${{ inputs.install-as-version }}" + URI: "${{ inputs.uri }}" run: | echo "::group::Prepare download..." JAVA=$JAVA_HOME_21_X64/bin/java @@ -54,18 +60,18 @@ runs: $JAVA --version DOWNLOAD=$GITHUB_ACTION_PATH/src/Download.java echo "::endgroup::" - if [ ! -z "${{ inputs.uri }}" ]; then + if [ ! -z "$URI" ]; then $JAVA \ - -Dinstall-as-version="${{ inputs.install-as-version }}" \ - $DOWNLOAD \ - ${{ inputs.uri }} + -Dinstall-as-version="$INSTALL_AS_VERSION" \ + "$DOWNLOAD" \ + "$URI" else $JAVA \ - -Dinstall-as-version="${{ inputs.install-as-version }}" \ - $DOWNLOAD \ - ${{ inputs.website }} \ - ${{ inputs.release }} \ - ${{ inputs.version }} + -Dinstall-as-version="$INSTALL_AS_VERSION" \ + "$DOWNLOAD" \ + "$WEBSITE" \ + "$RELEASE" \ + "$VERSION" fi - name: 'Install Java Development Kit' if: ${{ inputs.install == 'true' }} diff --git a/jdk.java.net-uri.properties b/jdk.java.net-uri.properties index 2bd6261..53993c5 100644 --- a/jdk.java.net-uri.properties +++ b/jdk.java.net-uri.properties @@ -1,24 +1,24 @@ # # General-Availability Release # -24,24,linux,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-aarch64_bin.tar.gz -24,24,linux,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-x64_bin.tar.gz -24,24,macos,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-aarch64_bin.tar.gz -24,24,macos,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-x64_bin.tar.gz -24,24,windows,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_windows-x64_bin.zip +24,24.0.1,linux,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-aarch64_bin.tar.gz +24,24.0.1,linux,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-x64_bin.tar.gz +24,24.0.1,macos,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-aarch64_bin.tar.gz +24,24.0.1,macos,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-x64_bin.tar.gz +24,24.0.1,windows,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_windows-x64_bin.zip # # General-Availability Release (Alias) # -24,latest,linux,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-aarch64_bin.tar.gz -24,latest,linux,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-x64_bin.tar.gz -24,latest,macos,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-aarch64_bin.tar.gz -24,latest,macos,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-x64_bin.tar.gz -24,latest,windows,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_windows-x64_bin.zip -ga,latest,linux,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-aarch64_bin.tar.gz -ga,latest,linux,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-x64_bin.tar.gz -ga,latest,macos,aarch64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-aarch64_bin.tar.gz -ga,latest,macos,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-x64_bin.tar.gz -ga,latest,windows,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_windows-x64_bin.zip +24,latest,linux,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-aarch64_bin.tar.gz +24,latest,linux,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-x64_bin.tar.gz +24,latest,macos,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-aarch64_bin.tar.gz +24,latest,macos,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-x64_bin.tar.gz +24,latest,windows,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_windows-x64_bin.zip +ga,latest,linux,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-aarch64_bin.tar.gz +ga,latest,linux,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-x64_bin.tar.gz +ga,latest,macos,aarch64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-aarch64_bin.tar.gz +ga,latest,macos,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_macos-x64_bin.tar.gz +ga,latest,windows,x64=https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_windows-x64_bin.zip # # Soon-Archived Release # @@ -40,11 +40,11 @@ ga,latest,windows,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8c 23,23-valhalla+1-90,windows,x64=https://download.java.net/java/early_access/valhalla/1/openjdk-23-valhalla+1-90_windows-x64_bin.zip 24,24-leyden+2-8,linux,x64=https://download.java.net/java/early_access/leyden/2/openjdk-24-leyden+2-8_linux-x64_bin.tar.gz 24,24-leyden+2-8,macos,aarch64=https://download.java.net/java/early_access/leyden/2/openjdk-24-leyden+2-8_macos-aarch64_bin.tar.gz -25,25-ea+14,linux,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-aarch64_bin.tar.gz -25,25-ea+14,linux,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-x64_bin.tar.gz -25,25-ea+14,macos,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-aarch64_bin.tar.gz -25,25-ea+14,macos,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-x64_bin.tar.gz -25,25-ea+14,windows,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_windows-x64_bin.zip +25,25-ea+24,linux,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-aarch64_bin.tar.gz +25,25-ea+24,linux,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-x64_bin.tar.gz +25,25-ea+24,macos,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-aarch64_bin.tar.gz +25,25-ea+24,macos,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-x64_bin.tar.gz +25,25-ea+24,windows,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_windows-x64_bin.zip 25,25-loom+1-11,linux,aarch64=https://download.java.net/java/early_access/loom/1/openjdk-25-loom+1-11_linux-aarch64_bin.tar.gz 25,25-loom+1-11,linux,x64=https://download.java.net/java/early_access/loom/1/openjdk-25-loom+1-11_linux-x64_bin.tar.gz 25,25-loom+1-11,macos,aarch64=https://download.java.net/java/early_access/loom/1/openjdk-25-loom+1-11_macos-aarch64_bin.tar.gz @@ -53,21 +53,21 @@ ga,latest,windows,x64=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8c # # Early-Access Releases (Alias) # -25,latest,linux,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-aarch64_bin.tar.gz -25,latest,linux,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-x64_bin.tar.gz -25,latest,macos,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-aarch64_bin.tar.gz -25,latest,macos,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-x64_bin.tar.gz -25,latest,windows,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_windows-x64_bin.zip -ea,latest,linux,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-aarch64_bin.tar.gz -ea,latest,linux,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-x64_bin.tar.gz -ea,latest,macos,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-aarch64_bin.tar.gz -ea,latest,macos,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-x64_bin.tar.gz -ea,latest,windows,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_windows-x64_bin.zip -ea,stable,linux,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-aarch64_bin.tar.gz -ea,stable,linux,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_linux-x64_bin.tar.gz -ea,stable,macos,aarch64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-aarch64_bin.tar.gz -ea,stable,macos,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_macos-x64_bin.tar.gz -ea,stable,windows,x64=https://download.java.net/java/early_access/jdk25/14/GPL/openjdk-25-ea+14_windows-x64_bin.zip +25,latest,linux,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-aarch64_bin.tar.gz +25,latest,linux,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-x64_bin.tar.gz +25,latest,macos,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-aarch64_bin.tar.gz +25,latest,macos,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-x64_bin.tar.gz +25,latest,windows,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_windows-x64_bin.zip +ea,latest,linux,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-aarch64_bin.tar.gz +ea,latest,linux,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-x64_bin.tar.gz +ea,latest,macos,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-aarch64_bin.tar.gz +ea,latest,macos,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-x64_bin.tar.gz +ea,latest,windows,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_windows-x64_bin.zip +ea,stable,linux,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-aarch64_bin.tar.gz +ea,stable,linux,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_linux-x64_bin.tar.gz +ea,stable,macos,aarch64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-aarch64_bin.tar.gz +ea,stable,macos,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_macos-x64_bin.tar.gz +ea,stable,windows,x64=https://download.java.net/java/early_access/jdk25/24/GPL/openjdk-25-ea+24_windows-x64_bin.zip jextract,latest,linux,aarch64=https://download.java.net/java/early_access/jextract/22/6/openjdk-22-jextract+6-47_linux-aarch64_bin.tar.gz jextract,latest,linux,x64=https://download.java.net/java/early_access/jextract/22/6/openjdk-22-jextract+6-47_linux-x64_bin.tar.gz jextract,latest,macos,aarch64=https://download.java.net/java/early_access/jextract/22/6/openjdk-22-jextract+6-47_macos-aarch64_bin.tar.gz diff --git a/src/Download.java b/src/Download.java index ec46397..835efa1 100644 --- a/src/Download.java +++ b/src/Download.java @@ -201,12 +201,13 @@ void verifyChecksums(String checksum) throws Exception { var remoteChecksum = findRemoteChecksum(checksum); if (remoteChecksum.isEmpty()) { GitHub.warn("Checksum not available for: " + uri); - return; + } else { + var remote = remoteChecksum.get(); + GitHub.debug("Remote checksum: " + remote); + if (cached.equals(remote)) { + return; + } } - - var remote = remoteChecksum.get(); - GitHub.debug("Remote checksum: " + remote); - if (cached.equals(remote)) return; var message = "Checksum verification failed, deleting cached archive"; Files.delete(archive); GitHub.error(message); diff --git a/test/Test.java b/test/Test.java index d67596e..8f18c4e 100644 --- a/test/Test.java +++ b/test/Test.java @@ -30,7 +30,6 @@ static void checkAllOracleJDKs() { System.out.println(); System.out.println("// oracle.com - latest"); checkOracleJDK("24", "latest"); - checkOracleJDK("23", "latest"); checkOracleJDK("21", "latest"); System.out.println(); @@ -80,6 +79,7 @@ static void checkJDK(String website, Download.JDK jdk) { var head = BROWSER.head(uri); if (head.statusCode() < 200 || head.statusCode() >= 400) ERRORS.add(head.toString()); System.out.println(head); + System.out.println(" " + BROWSER.browse(uri + ".sha256")); } catch (Exception exception) { ERRORS.add(jdk + "\n" + exception); }