Skip to content

Conversation

@stratozero
Copy link
Contributor

@stratozero stratozero commented Sep 25, 2025

Added installer of graalvm 25 - jdk25

Added the installer for graalvm 25 with JDK 25 to the Java bucket

There is yet another PR which aims to add the installer for Temurin 25, I'm just adding the installer for GraalVM 25

Note: I edited the installer of GraalVM 21, where the regex under checkver/version permits only versions with at least a minor spec. In this one I loosen a bit the check to allow versions without minor on the github release page

Relates to #561
Closes #562

Summary by CodeRabbit

  • New Features
    • Added GraalVM Community Edition 25.0.0 as a new installable package.
    • Installer arranges runtime files so the runtime is ready after installation.
    • Automatically sets JAVA_HOME and GRAALVM_HOME.
    • Adds GraalVM binaries to the system PATH for immediate use.
    • Enables automatic update checks for the 25.x release line via GitHub releases.

✏️ Tip: You can customize this high-level summary in your review settings.

Added installer of graalvm 25 - jdk25
@coderabbitai
Copy link

coderabbitai bot commented Sep 25, 2025

Walkthrough

Adds a new Scoop manifest bucket/graalvm25.json registering GraalVM Community Edition 25.0.0 with download URL, SHA256, extraction/install steps, environment PATH/JAVA_HOME/GRAALVM_HOME settings, GitHub-based checkver constrained to 25.x, and autoupdate URL/hash template.

Changes

Cohort / File(s) Summary
New package manifest
bucket/graalvm25.json
Adds GraalVM CE 25.0.0 manifest with description, version, homepage, license, url and hash, extract_to, installer script commands to reorganize extracted files, env_add_path and env_set entries (PATH, JAVA_HOME, GRAALVM_HOME), checkver using GitHub releases with a 25.x regex, and autoupdate URL template with hash reference.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Scoop
  participant GitHub as "GitHub Releases"
  participant Installer as "installer script"
  participant Env as "Environment"

  User->>Scoop: scoop install graalvm25
  Scoop->>GitHub: download release zip (graalvm-community-jdk-25.0.0_...)
  GitHub-->>Scoop: zip file
  Scoop->>Scoop: extract to target directory
  Scoop->>Installer: run installer script
  Installer->>Scoop: move/reorganize extracted files
  Installer->>Env: set JAVA_HOME and GRAALVM_HOME
  Installer->>Env: add bin to PATH
  User->>Scoop: scoop update graalvm25
  Scoop->>GitHub: checkver (regex for 25.x)
  alt new 25.x release found
    Scoop->>Scoop: apply autoupdate URL template and new hash
  else
    Scoop-->>User: already up to date
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify installer script paths, idempotence, and correct relocation of extracted files.
  • Confirm checkver regex limits to 25.x releases and autoupdate URL/hash template align with release naming.
  • Validate the provided SHA256 matches the exact download asset.

Poem

I nibble bytes and chase a stream,
A zip, a path — a dev's bright dream.
JAVA_HOME set, the bins align,
GraalVM twenty-five, now mine.
I hop, install, and give a beam. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Create graalvm25.json' is overly generic and doesn't clearly convey the main change - adding a GraalVM 25 installer package. Revise title to be more descriptive, such as 'Add GraalVM 25 installer package' or 'Add GraalVM Community Edition 25.0.0 to Java bucket'.
Out of Scope Changes check ❓ Inconclusive The PR mentions editing GraalVM 21's checkver regex to allow versions without minor components, which is technically out-of-scope but appears to be a necessary supporting change rather than unrelated work. Clarify whether the GraalVM 21 regex edit is essential for GraalVM 25 functionality or should be addressed in a separate PR to maintain focused scope.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The PR description includes all required template sections: reads Contributing Guide, closes/relates to issues, and provides context about the changes and related work.
Linked Issues check ✅ Passed The PR successfully implements the core objective from issue #562: adds GraalVM 25 as an installer package meeting all stated criteria (runtime environment, well-known, stable, non-trial, standard install, no authentication required).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ffd906d and b03ea3c.

📒 Files selected for processing (1)
  • bucket/graalvm25.json (1 hunks)
🔇 Additional comments (4)
bucket/graalvm25.json (4)

1-7: Metadata fields are correct.

Description is clear, version is the current stable (25.0.0), homepage is correct, license matches repository guidelines, and the download URL and SHA256 hash are valid and properly formatted.


8-14: Installer logic is correct.

The extraction-to-tmp followed by moving nested contents to root and cleanup is standard for GraalVM's release structure and properly handles the hierarchy.


15-19: Environment configuration is appropriate.

The bin directory addition to PATH and JAVA_HOME/GRAALVM_HOME settings are standard for Java environments and correct.


24-29: Autoupdate configuration is valid.

The URL template correctly uses the $version variable to construct GitHub release downloads, and the hash source properly references the .sha256 file. This will work once the checkver is fixed.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

graalvm25

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 586bcbf and 16d3465.

📒 Files selected for processing (1)
  • bucket/graalvm25.json (1 hunks)

@rafalohaki
Copy link

just merge it

This reverts commit ffd906d.
@se35710 se35710 merged commit de51db6 into ScoopInstaller:master Nov 28, 2025
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request] Add GraalVM 25

3 participants