Repository navigation
docs: explain that a GraalVM needs build-essential and zlib1g-dev only for native-image, which GraalVM CE 8 to 19 do not include; ci: stop a newer commit on main from cancelling the e2e run of an older one - #122
Merged
Conversation
… only for `native-image`, which GraalVM CE 8 to 19 do not include
build-essential and zlib1g-dev only for native-image, which GraalVM CE 8 to 19 do not includebuild-essential and zlib1g-dev only for native-image, which GraalVM CE 8 to 19 do not include; ci: stop a newer commit on main from cancelling the e2e run of an older one
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request holds two unrelated changes: documentation on what a GraalVM needs after
vfox install, and a fix for the E2E workflow.Docs: what a GraalVM needs after
vfox installAfter
vfox install java@25.0.2-graalce, or any other GraalVM, does the machine needsudo apt install --assume-yes build-essential zlib1g-dev? Only to build native executables withnative-image.java,javacand a program run without them. The docs did not say so.Changes
README.mdandREADME_CN.md: a "Native Image" section with the command.docs/distributions.md: a section "Native Image and the C toolchain" with whatnative-imageprints without the packages, what other systems need, and GraalVM CE 8 to 19, which come withoutnative-image.docs/troubleshooting.md: two entries, for the messagesnative-imagestops with and fornative-image: command not found.docs/changes.mdstays as it is, as in #118.Checked
2026-11-02, in Ubuntu 26.04 container images (x64) with no compiler, vfox 1.0.13 and this plugin:
vfox installof each GraalVM listed below, thenjava -version,javacand a hello world, worked with no extra package.native-image Hellowith no package stops within seconds:Default native-compiler executable 'gcc' not found via environment variable PATH.zlib1g-devalone changes nothing.build-essentialalone it analyses and compiles first, then fails when it links:cannot find -lz: No such file or directory.build-essential zlib1g-devit builds a hello world that runs.gcc,libc6-devandzlib1g-devare enough too.gcc glibc-devel zlib-develbuilds a hello world. Thelibstdc++-staticthat GraalVM lists was not needed.grl8,grl11,grl16,grl17,grl19) shipguand nonative-image.gu install native-imageworked for22.3.3-grl11,21.2-grl16,22.3.3-grl17and22.3.1-grl19, and22.3.3-grl17then built a hello world with the packages. It fails for21.3.1-grl8withA JSONObject text must begin with '{', because the release index it reads,https://oca.opensource.oracle.com/gds/meta-data.json, is a web page now.gu -L installof the component file from thevm-21.3.1release works, and the docs say so.Not checked
CI: a newer commit on
maincancelled the E2E run of the older onee2e.ymlput every run of a branch in one concurrency group,e2e-${{ github.ref }}, withcancel-in-progress: true. For a pull request that is wanted: a new push replaces the run of the push before it. Onmainit costs the older commit its result. #120 and #119 were merged within two minutes of each other:opencode.jsoncthat allowsgit push,gh pr createandgh pr commentin this project #119's run cancelled the first attempt of fix: verify downloads against the checksum Foojay lists, sovfox install java@25.0.2-graalceand the like no longer end withWARNING: Checksum is not provided, skip verify...#120's run.vfox install java@25.0.2-graalceand the like no longer end withWARNING: Checksum is not provided, skip verify...#120's then cancelled chore: add anopencode.jsoncthat allowsgit push,gh pr createandgh pr commentin this project #119's.The cancelled jobs carry the annotation
Canceling since a higher priority waiting request for e2e-refs/heads/main exists. Whichever way round, one of the two commits ends without an E2E result.Now a pull request keeps the group
e2e-<ref>and still cancels the run of its previous push, while every commit onmaingets a group of its own,e2e-<sha>, and nothing there is cancelled.cancel-in-progress: falsealone would not do: GitHub keeps at most one pending run per group and replaces the older pending ones, so with three quick merges the middle one would still be cancelled.queue: maxwould line the runs up, but it cannot be combined withcancel-in-progress: true, which the pull request side needs.Checked
.github/actionlint.yaml: no finding before the change, none after.... for e2e-refs/pull/122/merge exists). So a pull request gets the group it had before.Not checked
main. It takes two commits landing close together, and then both E2E runs should finish.