Skip to content

8356560: GHA: Add macOS Windows ARM64 testing #25125

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

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/get-msys2/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2.22.0
uses: msys2/setup-msys2@v2.25.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
Expand Down
21 changes: 17 additions & 4 deletions .github/workflows/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ on:
platform:
required: true
type: string
runs-on:
required: true
type: string
extra-conf-options:
required: false
type: string
Expand Down Expand Up @@ -63,7 +66,7 @@ env:
jobs:
build-windows:
name: build
runs-on: windows-2019
runs-on: ${{ inputs.runs-on }}
defaults:
run:
shell: bash
Expand All @@ -88,7 +91,7 @@ jobs:
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: windows-x64
platform: ${{ inputs.platform }}

- name: 'Get JTReg'
id: jtreg
Expand All @@ -102,7 +105,12 @@ jobs:
id: toolchain-check
run: |
set +e
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ "${{ inputs.msvc-toolset-architecture }}" = "arm64" ]; then
vcvars="/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/vcvarsarm64.bat"
else
vcvars="/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat"
fi
"${vcvars}" -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ $? -eq 0 ]; then
echo "Toolchain is already installed"
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
Expand All @@ -114,8 +122,13 @@ jobs:
- name: 'Install toolchain and dependencies'
run: |
# Run Visual Studio Installer
if [ "${{ inputs.msvc-toolset-architecture }}" = "arm64" ]; then
install_path="C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
else
install_path="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise"
fi
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
modify --quiet --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' \
modify --quiet --installPath "${install_path}" \
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
if: steps.toolchain-check.outputs.toolchain-installed != 'true'

Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
runs-on: windows-2019
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
Expand All @@ -324,6 +325,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
runs-on: windows-11-arm
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
Expand Down Expand Up @@ -382,3 +384,14 @@ jobs:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019

test-windows-aarch64:
name: windows-aarch64
needs:
- build-windows-aarch64
uses: ./.github/workflows/test.yml
with:
platform: windows-aarch64
bootjdk-platform: windows-aarch64
runs-on: windows-11-arm

4 changes: 4 additions & 0 deletions make/conf/github-actions.conf
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,7 @@ MACOS_X64_BOOT_JDK_SHA256=6bbfb1d01741cbe55ab90299cb91464b695de9a3ace85c15131aa2
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_SHA256=11d1d9f6ac272d5361c8a0bef01894364081c7fb1a6914c2ad2fc312ae83d63b

WINDOWS_AARCH64_BOOT_JDK_EXT=zip
WINDOWS_AARCH64_BOOT_JDK_URL=https://github.com/adoptium/temurin24-binaries/releases/download/jdk-24%2B35-ea-beta/OpenJDK24U-jdk_aarch64_windows_hotspot_24_35-ea.zip
WINDOWS_AARCH64_BOOT_JDK_SHA256=bf02f568a28ad8e615e9a05b69a02893a4cffa369dfe2ce916d5a7b75fcf384c