[jdk11u-dev] RFR: 8343786: [11u] GHA: Bump macOS and Xcode versions to macos-13 and XCode 14.3.1

Antonio Vieiro duke at openjdk.org
Thu Nov 14 19:00:20 UTC 2024


With [JDK-8340671](https://bugs.openjdk.org/browse/JDK-8340671) the GHA runner was bumped from `macos-11` to `macos-12` with minimum impact.

But the `macos-12` runner image [will be fully retired by December 3rd, 2024](https://github.blog/changelog/2024-08-19-notice-of-upcoming-deprecations-and-breaking-changes-in-github-actions-runners/), so it's now convenient  to bump to `macos-13`. 

Previous attempts to upgrade to GHA runners to `macos-13`  required a long list of backports that proved difficult to review and risky to backport. These were related to the deprecation of `sprintf` (that is replaced with `snprintf` in more modern OpenJDK versions), and to passing arguments to functions without a prototype in AWT native libraries.

Instead of risking to do these backports an alternate solution may be to add specific compilation flags that transform these errors to warnings. This is done by adding `-Wno-deprecated-declarations` (to bypass `sprintf` deprecation) and `-Wno-deprecated-non-prototype` to bypass passing arguments to a function without a prototype to specific parts of the makefiles for the `macosx` platform only.

For easier review the PR is separated in three commits in two pushes. 

- First push (to ensure a proper build on `macos-12` with new compilation flags)
    - The first commit adds `-Wno-deprecated-declaration` to some makefiles (`macosx` only). 
    - And the second one adds `-Wno-deprecated-non-prototype` to the affected AWT libraries (again `macosx` only). 
- A second push (to ensure a proper build on `macos-13`)
  - A third commit that bumps GHA runners to `macos-13` and `xcode 14.3.1` 

Tier-1 tests seem to be failing randomly on `macos-13` with either a timeout or an ArrayIndexOutOfBoundsException t in `serviceability/sa/ClhsdbFindPC.java`.  This is currently under investigation and may be related to [JDK-8260389](https://bugs.openjdk.org/browse/JDK-8260389) or [JDK-8277079](https://bugs.openjdk.org/browse/JDK-8277079). 

Solving this `tier-1` test problem may require a second PR.

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

Commit messages:
 - Use -Wno-deprecated-non-prototype to bypass passing arguments to a function without a prototype is deprecated in awtlib
 - Use -Wno-deprecated-declarations to bypass sprintf deprecation

Changes: https://git.openjdk.org/jdk11u-dev/pull/2965/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk11u-dev&pr=2965&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343786
  Stats: 16 lines in 6 files changed: 14 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk11u-dev/pull/2965.diff
  Fetch: git fetch https://git.openjdk.org/jdk11u-dev.git pull/2965/head:pull/2965

PR: https://git.openjdk.org/jdk11u-dev/pull/2965


More information about the jdk-updates-dev mailing list