diff --git a/.github/actions/get-msys2/action.yml b/.github/actions/get-msys2/action.yml index 4ca5d2ab8471f..bdbb96575d6a5 100644 --- a/.github/actions/get-msys2/action.yml +++ b/.github/actions/get-msys2/action.yml @@ -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 @@ -42,3 +42,10 @@ runs: # Prepend msys2/msys64/usr/bin to the PATH echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH shell: pwsh + + # Remove the default config.site file provided by MSYS2 to ensure config.guess accurately detects the host system. + - name: 'Remove default config.site' + run: | + echo "Removing default config.site" + rm -f /etc/config.site + shell: env /usr/bin/bash --login -eo pipefail {0} diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index a3091b94cef19..9b279a974d3bf 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -31,6 +31,9 @@ on: platform: required: true type: string + runs-on: + required: true + type: string extra-conf-options: required: false type: string @@ -67,7 +70,7 @@ env: jobs: build-windows: name: build - runs-on: windows-2025 + runs-on: ${{ inputs.runs-on }} defaults: run: shell: bash @@ -92,7 +95,7 @@ jobs: id: bootjdk uses: ./.github/actions/get-bootjdk with: - platform: windows-x64 + platform: ${{ inputs.platform }} - name: 'Get JTReg' id: jtreg @@ -106,7 +109,12 @@ jobs: id: toolchain-check run: | set +e - '/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }} + if [ "${{ inputs.msvc-toolset-architecture }}" = "ARM64" ]; then + vcvars="vcvarsarm64.bat" + else + vcvars="vcvars64.bat" + fi + "/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/${vcvars}" -vcvars_ver=${{ inputs.msvc-toolset-version }} if [ $? -eq 0 ]; then echo "Toolchain is already installed" echo "toolchain-installed=true" >> $GITHUB_OUTPUT diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0d8663fab1aa4..9e0e53d10ef68 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -353,6 +353,7 @@ jobs: uses: ./.github/workflows/build-windows.yml with: platform: windows-x64 + runs-on: windows-2025 msvc-toolset-version: '14.44' msvc-toolset-architecture: 'x86.x64' configure-arguments: ${{ github.event.inputs.configure-arguments }} @@ -366,10 +367,9 @@ jobs: uses: ./.github/workflows/build-windows.yml with: platform: windows-aarch64 - msvc-toolset-version: '14.44' - msvc-toolset-architecture: 'arm64' - make-target: 'hotspot' - extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin' + runs-on: windows-11-arm + msvc-toolset-version: '14.43' + msvc-toolset-architecture: 'ARM64' configure-arguments: ${{ github.event.inputs.configure-arguments }} make-arguments: ${{ github.event.inputs.make-arguments }} dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }} @@ -449,3 +449,17 @@ jobs: runs-on: windows-2025 dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }} debug-suffix: -debug + + test-windows-aarch64: + name: windows-aarch64 + needs: + - prepare + - build-windows-aarch64 + uses: ./.github/workflows/test.yml + with: + platform: windows-aarch64 + bootjdk-platform: windows-aarch64 + runs-on: windows-11-arm + dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }} + debug-suffix: -debug + diff --git a/make/conf/github-actions.conf b/make/conf/github-actions.conf index d2b6cd2312883..d2dbfb038ceca 100644 --- a/make/conf/github-actions.conf +++ b/make/conf/github-actions.conf @@ -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