Support testing for GraalVM x86, ARM64
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 0
- Forks
- 0
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 2
Description
GraalVM is a high performance JDK distribution that enables polyglot programming. Generally, it sacrifices startup performance in favour of general execution performance.
It provides 2 modes: JVM, and Polyglot. JVM mode support interoperability with Java, while Polyglot mode supports interoperability between between Node.js, Python, Java, Ruby, R, WASM, and Java (Experimental).
## Supported architectures
For supported architectures, Linux x86-64 and Linux ARM64 should be suffice.
| OS | CPU Arch.
| - | -
| Windows | x86-64
| macOS | x86-64
| Linux | x86-64
| Linux | ARM64
See: https://www.graalvm.org/docs/getting-started/#install-graalvm
## Why should LoopBack support it?
GraalVM enables polyglot programming, which provides new opportunities for allowing LoopBack users to interact between Java and Node.js, and the other programming languages. Furthermore, GraalVM allows users to run LoopBack on a JVM instead of Node.js itself, thereby allowing re-use of familiar tooling if any.
LoopBack implements programming paradigms that are familiar to Java developers (e.g. dependency injection, inversion of control, meta-framework), and GraalVM may be able to provide an opportunity for Java users to more quickly adopt LoopBack.
In addition, LoopBack users may benefit from optimizations performed by GraalVM.
Enabling active testing for GraalVM would provide confidence that LoopBack packages will work on the JVM.
## Compatibility
Oracle claims to be fully compatible with ECMAScript 2021, and has subjectively incorporated some of the v8-specific extensions. They also test against a subset of NPM packages to ensure compatibility.
See: https://www.graalvm.org/javascript/
## Release cycle
The versioning scheme is based on the year, so `19.x` is released in 2019, while `20.x` is released at 2020. GraalVM has a yearly major release cycle, and "minor Feature releases of GraalVM Community are produced every three months on a predictable schedule, always on the Tuesday closest to the 17th of the months of February, May, August, and November. ... The final Feature release, e.g., 20.3, is supported for 12 months with bug and vulnerability fixes." This means that, at any point in time, there may be up to 2 versions that need to be supported simultaneously (e.g. `19.3.1` and `20.3.4`).
See: https://www.graalvm.org/release-notes/version-roadmap/
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by surveying the repository's CI/CD configuration and determine how active testing could cover GraalVM on Linux x86-64 and ARM64, then verify that the LoopBack packages pass in those environments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, node.js
- Domain
- ci-cd, infrastructure, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100