8325194: GHA: Add macOS M1 testing

8325444: GHA: JDK-8325194 causes a regression
8309934: Update GitHub Actions to use JDK 17 for building jtreg

Reviewed-by: mbaesken
Backport-of: d1c82156ba6ede4b798ac15f935289cfcc99d1a0
This commit is contained in:
George Adams 2024-07-11 08:03:09 +00:00
parent 05bea0e537
commit cfe714b2f4
4 changed files with 37 additions and 13 deletions

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -56,8 +56,14 @@ runs:
- name: 'Build JTReg' - name: 'Build JTReg'
run: | run: |
# If runner architecture is x64 set JAVA_HOME_17_X64 otherwise set to JAVA_HOME_17_arm64
if [[ '${{ runner.arch }}' == 'X64' ]]; then
JDK="$JAVA_HOME_17_X64"
else
JDK="$JAVA_HOME_17_arm64"
fi
# Build JTReg and move files to the proper locations # Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_11_X64" bash make/build.sh --jdk "$JDK"
mkdir ../installed mkdir ../installed
mv build/images/jtreg/* ../installed mv build/images/jtreg/* ../installed
working-directory: jtreg/src working-directory: jtreg/src

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -31,6 +31,9 @@ on:
platform: platform:
required: true required: true
type: string type: string
runs-on:
required: true
type: string
extra-conf-options: extra-conf-options:
required: false required: false
type: string type: string
@ -55,7 +58,7 @@ on:
jobs: jobs:
build-macos: build-macos:
name: build name: build
runs-on: macos-13 runs-on: ${{ inputs.runs-on }}
strategy: strategy:
fail-fast: false fail-fast: false
@ -74,7 +77,7 @@ jobs:
id: bootjdk id: bootjdk
uses: ./.github/actions/get-bootjdk uses: ./.github/actions/get-bootjdk
with: with:
platform: macos-x64 platform: ${{ inputs.platform }}
- name: 'Get JTReg' - name: 'Get JTReg'
id: jtreg id: jtreg
@ -87,7 +90,7 @@ jobs:
- name: 'Install toolchain and dependencies' - name: 'Install toolchain and dependencies'
run: | run: |
# Run Homebrew installation and xcode-select # Run Homebrew installation and xcode-select
brew install make brew install autoconf make
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake' # This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -223,6 +223,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml uses: ./.github/workflows/build-macos.yml
with: with:
platform: macos-x64 platform: macos-x64
runs-on: 'macos-13'
xcode-toolset-version: '14.3.1' xcode-toolset-version: '14.3.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }} configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }} make-arguments: ${{ github.event.inputs.make-arguments }}
@ -234,8 +235,8 @@ jobs:
uses: ./.github/workflows/build-macos.yml uses: ./.github/workflows/build-macos.yml
with: with:
platform: macos-aarch64 platform: macos-aarch64
runs-on: 'macos-14'
xcode-toolset-version: '14.3.1' xcode-toolset-version: '14.3.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }} configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }} make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true' if: needs.select.outputs.macos-aarch64 == 'true'
@ -300,6 +301,16 @@ jobs:
bootjdk-platform: macos-x64 bootjdk-platform: macos-x64
runs-on: macos-13 runs-on: macos-13
test-macos-aarch64:
name: macos-aarch64
needs:
- build-macos-aarch64
uses: ./.github/workflows/test.yml
with:
platform: macos-aarch64
bootjdk-platform: macos-aarch64
runs-on: macos-14
test-windows-x64: test-windows-x64:
name: windows-x64 name: windows-x64
needs: needs:

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -32,10 +32,14 @@ LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.11_9.tar.gz LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.11_9.tar.gz
LINUX_X64_BOOT_JDK_SHA256=aa7fb6bb342319d227a838af5c363bfa1b4a670c209372f9e6585bd79da6220c LINUX_X64_BOOT_JDK_SHA256=aa7fb6bb342319d227a838af5c363bfa1b4a670c209372f9e6585bd79da6220c
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_windows_hotspot_17.0.11_9.zip
WINDOWS_X64_BOOT_JDK_SHA256=fdd6664d4131370398fbc8bfbb7b46dbfec4a22a090a511fe5c379dae188c390
MACOS_X64_BOOT_JDK_EXT=tar.gz MACOS_X64_BOOT_JDK_EXT=tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_mac_hotspot_17.0.11_9.tar.gz MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_mac_hotspot_17.0.11_9.tar.gz
MACOS_X64_BOOT_JDK_SHA256=f8b96724618f4df557c47f11048d1084e98ed3eb87f0dbd5b84f768a80c3348e MACOS_X64_BOOT_JDK_SHA256=f8b96724618f4df557c47f11048d1084e98ed3eb87f0dbd5b84f768a80c3348e
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
MACOS_AARCH64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.11_9.tar.gz
MACOS_AARCH64_BOOT_JDK_SHA256=09a162c58dd801f7cfacd87e99703ed11fb439adc71cfa14ceb2d3194eaca01c
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.11%2B9/OpenJDK17U-jdk_x64_windows_hotspot_17.0.11_9.zip
WINDOWS_X64_BOOT_JDK_SHA256=fdd6664d4131370398fbc8bfbb7b46dbfec4a22a090a511fe5c379dae188c390