RFR: 8355452: GHA: Test jtreg tier1 on linux-x64 static-jdk

Jiangli Zhou jiangli at openjdk.org
Mon May 5 21:41:45 UTC 2025


On Mon, 5 May 2025 14:57:08 GMT, Magnus Ihse Bursie <ihse at openjdk.org> 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/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?

The hard-coded `debug-suffix: -debug` maps to run the hs/tier1 tests on `debug` build only. However, we can't build `debug` binary for static JDK yet due to the resource/space issue in GHA. I documented some related details in https://bugs.openjdk.org/browse/JDK-8355452?focusedId=14775969&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14775969.

Changing hard-coded `-debug` to `${{ inputs.debug-suffix }}` allows us to set '' for `debug-suffix`, which maps to run hs/tier1 tests on `static-jdk` `release` build for now.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24992#discussion_r2074238275


More information about the build-dev mailing list