On Thu, 1 May 2025 22:46:00 GMT, Jiangli Zhou <[email protected]> wrote:
> Please review this PR that adds a `test-linux-x64-static` job, which runs
> tier1 tests on the static-jdk 'release' binary created from the
> `linux-x64-static` build job in GHA. Following are the details on the changes:
>
> .github/actions/get-bundles/action.yml.
> - Add `static-suffix` parameter. `static-suffix` is added to the bundle name.
> - Add `static-jdk-path` output.
> - Unpack static bundles in bundles/static-jdk.
>
> .github/actions/upload-bundles/action.yml
> - Add `static-suffix` parameter. The `static-suffix` is added to the bundle
> name. The `linux-x64-static` build job sets the parameter as "-static". In
> other jobs, `static-suffix` not set.
>
> .github/workflows/build-linux.yml
> - Pass `${{ inputs.static-suffix }}` to upload-bundles action, with the
> `static-suffix` parameter.
>
> .github/workflows/main.yml
> - Build `product-bundles test-bundles static-jdk-bundles` for
> `linux-x64-static` job.
> - Add `test-linux-x64-static` job. It currently tests on `release` binary and
> not `debug` binary, since there are build issue with `debug` due to GHA
> resource/space limit.
> - Set `debug-suffix` for the existing non-static test jobs, which test on
> `debug` binaries.
>
> .github/workflows/test.yml
> - Add `debug-suffix` parameter and replace `debug-suffix: -debug` with
> `debug-suffix: ${{ inputs.debug-suffix }}` in hs/tier1 tests in the test
> matrix. The existing test jobs (on non-static JDK) set `debug-suffix` to
> `-debug` to test on `debug` binaries.
> - Add `static-suffix` parameter. Add `${{ inputs.static-suffix }}` to the
> test result artifact name.
> - Add `run-tests-static`.
> - Add step for notifying test failures on static JDK.
>
> @shipilev Could you please help review this change? Thanks!
.github/workflows/main.yml line 367:
> 365: name: linux-x64-static
> 366: needs:
> 367: - build-linux-x64-static
Just thinking out loud here, what if you also added ` build-linux-x64` to the
`needs` list. I guess that would make sure the test bundle is built before
trying to execute this. Then the trick will just be to get both the test bundle
and the static-jdk bundle downloaded...
.github/workflows/test.yml line 95:
> 93: - test-name: 'hs/tier1 common'
> 94: test-suite: 'test/hotspot/jtreg/:tier1_common'
> 95: debug-suffix: ${{ inputs.debug-suffix }}
I don't understand why these changes were needed? What are you doing with the
debug suffix?
.github/workflows/test.yml line 182:
> 180: BOOT_JDK=${{ steps.bootjdk.outputs.path }}
> 181: JDK_UNDER_TEST=${{ steps.bundles.outputs.static-jdk-path }}
> 182: JDK_FOR_COMPILE=${{ steps.bundles.outputs.jdk-path }}
Do we really need to duplicate all this code? From what I can see, this is just
to be able to send in the JDK_FOR_COMPILE argument, right?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24992#discussion_r2073616222
PR Review Comment: https://git.openjdk.org/jdk/pull/24992#discussion_r2073618514
PR Review Comment: https://git.openjdk.org/jdk/pull/24992#discussion_r2073621919