Repository navigation
Disable OpenJDK GHA Sanity Checks. - #182
Merged
Merged
Conversation
They started failing recently because of a non-hermetic build, and we've never wanted them. Gemini on all that: > ### 1. Do we want this CI job? (No—it’s already half-disabled and does nothing useful) > > * The failing job (`Prepare the run`) is in [main.yml](https://github.com/jspecify/jdk/blob/main/.github/workflows/main.yml#L58-L91) (`OpenJDK GHA Sanity Checks`), which is upstream OpenJDK's CI workflow. > * Back in PR #114 (c9befbc), `WMD` disabled all of the actual build/test jobs in [main.yml](https://github.com/jspecify/jdk/blob/main/.github/workflows/main.yml#L126-L129) by making `check_platform()` output `false` when `platforms` is empty: > ```bash > # echo 'true' > # WMD: Assume empty means no platforms > echo 'false' > return > ``` > * However, `main.yml` still triggers `on: push` (both on `main` and on any branch pushed directly to `jspecify/jdk`, such as `gcc` in PR #180) and still runs the `prepare` job before checking which platform jobs to run. > * All `prepare` does is run [build-jtreg/action.yml](https://github.com/jspecify/jdk/blob/main/.github/actions/build-jtreg/action.yml) to build JTReg from source and upload a `bundles-jtreg-8.3+1` artifact, and then output `false` for every platform so all downstream jobs are skipped and nothing ever uses the artifact. (Meanwhile, JSpecify's actual CI in [jspecify.yml](https://github.com/jspecify/jdk/blob/main/.github/workflows/jspecify.yml#L31-L34) downloads prebuilt `jtreg` from `builds.shipilev.net`.) > > --- > > ### 2. Why did it start failing on PR #177? > > The `actions/setup-java` bump in PR #177 was a coincidence (`setup-java` is only used in [jspecify.yml](https://github.com/jspecify/jdk/blob/main/.github/workflows/jspecify.yml#L21), whereas [build-jtreg/action.yml](https://github.com/jspecify/jdk/blob/main/.github/actions/build-jtreg/action.yml#L56) uses the runner's preinstalled `$JAVA_HOME_17_X64`): > > 1. [build-jtreg/action.yml](https://github.com/jspecify/jdk/blob/main/.github/actions/build-jtreg/action.yml#L38-L61) caches the built JTReg directory under `key: jtreg-8.3+1` (from `JTREG_VERSION` in [github-actions.conf](https://github.com/jspecify/jdk/blob/main/make/conf/github-actions.conf#L29)) and skips downloading/building JTReg whenever there is a cache hit. > 2. When you merged upstream OpenJDK on Sep 21 (`e89cf6d97e5`), `build-jtreg` built `jtreg-8.3+1` once and populated that cache. Every push to `main` through PR #176 (`Oct 13, 18:48 EDT`) hit that cache entry and refreshed its 7-day GitHub Actions TTL. > 3. PR #177 was merged on `Oct 20, 21:01 EDT`—**7 days and ~2 hours** after PR #176—just after GitHub Actions evicted the `jtreg-8.3+1` cache entry for inactivity. > 4. On the cache miss, `build-jtreg` tried to build JTReg from source, which runs `wget https://git.openjdk.org/jtharness/archive/jt6.0-b24.zip`. `git.openjdk.org` is returning an HTTP error response (`wget` exit code 8) to GitHub Actions runner requests. Because the build fails, the cache is never repopulated, so every subsequent push fails the same way. > > --- > > ### 3. How to get rid of the red X > > There are two clean ways to stop `OpenJDK GHA Sanity Checks` from running on pushes: > > 1. **In `.github/workflows/main.yml` (recommended if you want it tracked in git):** > Comment out or remove the `push:` trigger in [main.yml](https://github.com/jspecify/jdk/blob/main/.github/workflows/main.yml#L28-L32) so only `workflow_dispatch:` remains (right next to the existing local diff at lines 36–37): > ```yaml > on: > # push: > # branches-ignore: > # - pr/* > workflow_dispatch: > ``` > 2. **In GitHub repo settings (zero diff against upstream):** > Disable the `OpenJDK GHA Sanity Checks` workflow in the GitHub Actions UI (or via `gh workflow disable "OpenJDK GHA Sanity Checks" -R jspecify/jdk`).
msridhar
approved these changes
Nov 10, 2026
Collaborator
Author
|
Collaborator
Author
Oh, OK, yeah:
Now we don't even "Prepare." |
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.
They started failing recently because of a non-hermetic build, and we've never wanted them.
Gemini on all that: