Skip to content

8358538: Update GHA Windows runner to 2025 #1853

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

shipilev
Copy link
Member

@shipilev shipilev commented Jun 5, 2025

Fixes GHA. Current Windows runners are already in brown-out stage, and will be decommissioned by the end of the month. So we need to get it into update repos soon.

Additional testing:

  • GHA

Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8358538 needs maintainer approval
  • JDK-8360042 needs maintainer approval

Issues

  • JDK-8358538: Update GHA Windows runner to 2025 (Bug - P4 - Approved)
  • JDK-8360042: GHA: Bump MSVC to 14.44 (Bug - P3 - Approved)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/1853/head:pull/1853
$ git checkout pull/1853

Update a local copy of the PR:
$ git checkout pull/1853
$ git pull https://git.openjdk.org/jdk21u-dev.git pull/1853/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1853

View PR using the GUI difftool:
$ git pr show -t 1853

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/1853.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jun 5, 2025

👋 Welcome back shade! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Jun 5, 2025

@shipilev This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8358538: Update GHA Windows runner to 2025
8360042: GHA: Bump MSVC to 14.44

Reviewed-by: sgehwolf

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 66 new commits pushed to the master branch:

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot changed the title Backport b787ff6def08a050b690b60e4a0ceb3aec2b73c8 8358538: Update GHA Windows runner to 2025 Jun 5, 2025
@openjdk
Copy link

openjdk bot commented Jun 5, 2025

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required labels Jun 5, 2025
@shipilev shipilev marked this pull request as ready for review June 5, 2025 08:02
@openjdk
Copy link

openjdk bot commented Jun 5, 2025

⚠️ @shipilev This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jun 5, 2025
@mlbridge
Copy link

mlbridge bot commented Jun 5, 2025

Webrevs

@shipilev
Copy link
Member Author

shipilev commented Jun 5, 2025

Of course there are build failures. And of course they are confusing:

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_gtest_objs_test_enableIf.obj:
test_enableIf.cpp
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): error C2244: 'TestEnableIfNested<T>::sub1': unable to match function definition to an existing declaration
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: see declaration of 'TestEnableIfNested<T>::sub1'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: definition
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: 'U TestEnableIfNested<T>::sub1(U)'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: existing declarations
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(69): note: 'U TestEnableIfNested<T>::sub1(U)'

Exactly the same code compiles fine in mainline...

@gnu-andrew
Copy link
Member

gnu-andrew commented Jun 5, 2025

Of course there are build failures. And of course they are confusing:

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_gtest_objs_test_enableIf.obj:
test_enableIf.cpp
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): error C2244: 'TestEnableIfNested<T>::sub1': unable to match function definition to an existing declaration
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: see declaration of 'TestEnableIfNested<T>::sub1'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: definition
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: 'U TestEnableIfNested<T>::sub1(U)'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: existing declarations
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(69): note: 'U TestEnableIfNested<T>::sub1(U)'

Exactly the same code compiles fine in mainline...

The one difference I see between the 21u and trunk version is the lack of precompiled.hpp in trunk, as it is specified on the command line instead (JDK-8347909).

It might be worth trying 24u and seeing if it fails in the same way, though not worth fixing this there at this point in its lifecycle.

@shipilev
Copy link
Member Author

shipilev commented Jun 6, 2025

I actually tried both precompiled.hpp and upgrading gtest to 1.14, those things do not help. Trying 24u here: openjdk/jdk24u#229

@shipilev
Copy link
Member Author

Bad news: compile error looks like a MSVC bug.

Good news: I think MSVC 14.44 works: https://github.com/shipilev/jdk21u-dev/actions/runs/15762959576/job/44433603823. Yay! I'll see if we can switch mainline first -- JDK-8360042 -- and then backport it along with this PR.

@shipilev
Copy link
Member Author

/issue add JDK-8360042

@openjdk openjdk bot removed the clean Identical backport; no merge resolution required label Jun 23, 2025
@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@shipilev
Adding additional issue to issue list: 8360042: GHA: Bump MSVC to 14.44.

@shipilev
Copy link
Member Author

All right, this seems to work fairly well. I am going to trigger some repeated GHA runs for this PR. Meanwhile, I am going to ask for approvals. Then 17u and 11u backports may follow the same pattern.

@shipilev
Copy link
Member Author

/approval 8358538 request Switches GHA Windows runners to the ones available past June 2025. Applies cleanly, but requires JDK-8360042 to work with current runner images. GHA testing passes. Risk/benefit is low: GHA-only change, the runners are already browning-out, would completely fail in a week.
/approval 8360042 request Follow-up to JDK-8358538, fixes MSVC versions to the ones that work with current windows-2025 images. Risk/benefit is low, follows the JDK-8358538.

@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@shipilev
8358538: The approval request has been created successfully.

@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@shipilev
8360042: The approval request has been created successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Jun 23, 2025
Copy link
Contributor

@jerboaa jerboaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine. Thanks for going through this.

@jerboaa
Copy link
Contributor

jerboaa commented Jun 24, 2025

/approve yes

@openjdk
Copy link

openjdk bot commented Jun 24, 2025

@jerboaa
8358538: The approval request has been approved.
8360042: The approval request has been approved.

@openjdk openjdk bot added ready Pull request is ready to be integrated and removed approval Requires approval; will be removed when approval is received labels Jun 24, 2025
@shipilev
Copy link
Member Author

All right, here goes!

/integrate

@openjdk
Copy link

openjdk bot commented Jun 24, 2025

Going to push as commit 10929bd.
Since your change was applied there have been 66 commits pushed to the master branch:

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jun 24, 2025
@openjdk openjdk bot closed this Jun 24, 2025
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jun 24, 2025
@openjdk
Copy link

openjdk bot commented Jun 24, 2025

@shipilev Pushed as commit 10929bd.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Port of a pull request already in a different code base integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

3 participants