diff --git a/.github/workflows/build_wsl.yml b/.github/workflows/build_wsl.yml index 7ce36e5611..a65741e6fd 100644 --- a/.github/workflows/build_wsl.yml +++ b/.github/workflows/build_wsl.yml @@ -25,7 +25,13 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2019, windows-2022] + os: [windows-2022, windows-2025] + include: + - os: windows-2022 + skip_tags: "adoptopenjdk,jenkins,MSVS_2013,reboot" + - os: windows-2025 + # 2025 runners already have VS 2022 & 2019 redists so skip them on win2025 + skip_tags: "adoptopenjdk,jenkins,MSVS_2013,MSVS_2019,MSVS_2022,reboot" name: Windows runs-on: ${{ matrix.os }} steps: @@ -80,4 +86,5 @@ jobs: run: | export ANSIBLE_CONFIG=./ansible.cfg # Skip MSVS_2013 until https://github.com/adoptium/infrastructure/issues/2178 is fixed - ansible-playbook -i playbooks/AdoptOpenJDK_Windows_Playbook/hosts.win --extra-vars 'git_sha=${{ github.sha }}' -b --skip-tags adoptopenjdk,jenkins,MSVS_2013,reboot playbooks/AdoptOpenJDK_Windows_Playbook/main.yml + # Windows 2025 runner already has MSVS_2022 installed so will be skipped in the playbook execution. + ansible-playbook -i playbooks/AdoptOpenJDK_Windows_Playbook/hosts.win --extra-vars 'git_sha=${{ github.sha }}' -b --skip-tags "${{ matrix.skip_tags }}" playbooks/AdoptOpenJDK_Windows_Playbook/main.yml diff --git a/ansible/pbTestScripts/testJDKWin.sh b/ansible/pbTestScripts/testJDKWin.sh index 9aab5e872b..d62c618962 100755 --- a/ansible/pbTestScripts/testJDKWin.sh +++ b/ansible/pbTestScripts/testJDKWin.sh @@ -9,10 +9,8 @@ rm -rf /cygdrive/c/tmp/*-jre rm -rf /cygdrive/c/tmp/*-test-image #Identify The JDK - # Set Test JDK HOME To The Relocated JDK -# export TEST_JDK_HOME=C:/cygwin64$(find ~ -maxdepth 1 -type d -name "*jdk*"|grep -v ".*jre"| grep -v ".*-image") -export TEST_JDK_HOME=`ls -d c:/tmp/jdk*|grep -v "static"|grep -v "debug"|grep -v "jre"|grep -v "test-image"|grep -v "jmods"` +export TEST_JDK_HOME=`ls -d c:/tmp/jdk*|grep -v "static"|grep -v "debug"|grep -v "jre"|grep -v "test-image"|grep -v "jmods"|grep '[+b]'` echo TEST_JDK_HOME=$TEST_JDK_HOME ## Run The Same Tests As Test JDK for Linux @@ -47,5 +45,6 @@ make _jdk_math_0 # Run Some Additional Tests To Test The Playbooks Have Run Properly export BUILD_LIST=functional +make compile make _MBCS_Tests_pref_ja_windows_0 make _MBCS_Tests_formatter_ja_windows_0 diff --git a/ansible/pbTestScripts/vagrantPlaybookCheck.sh b/ansible/pbTestScripts/vagrantPlaybookCheck.sh index 06444eed40..2647a048bc 100644 --- a/ansible/pbTestScripts/vagrantPlaybookCheck.sh +++ b/ansible/pbTestScripts/vagrantPlaybookCheck.sh @@ -134,50 +134,57 @@ checkVars() echo "Can't find vagrant-rsync-back plugin, installing . . ." vagrant plugin install vagrant-rsync-back fi - if [[ "$fastMode" == true ]]; then - skipFullSetup=",nvidia_cuda_toolkit" - case "$jdkToBuild" in - "jdk8" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2019"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2019" - fi - ;; - "jdk11" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2019"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2019" - fi - ;; - "jdk17" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017" - fi - ;; - "jdk21" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" - fi - ;; - "jdk22" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" - fi - ;; - "jdk" ) - skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; - if [ "$buildHotspot" != "" ]; then - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" + + if [[ "$fastMode" == true ]]; then + skipFullSetup=",nvidia_cuda_toolkit" + case "$jdkToBuild" in + "jdk8" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2019" + fi + ;; + "jdk11" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2019" + fi + ;; + "jdk17" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017" + fi + ;; + "jdk21" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" + fi + ;; + "jdk22" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" + fi + ;; + "jdk25" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" + fi + ;; + "jdk" ) + skipFullSetup="$skipFullSetup,MSVS_2013,MSVS_2017,MSVS_2019"; + if [ "$buildHotspot" != "" ]; then + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1,MSVS_2013,MSVS_2017,MSVS_2019" + fi + ;; + *) + skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1";; + esac fi - ;; - *) - skipFullSetup="$skipFullSetup,MSVS_2010,VS2010_SP1";; - esac - fi - jdkToBuild="--version $jdkToBuild" + jdkToBuild="--version $jdkToBuild" } checkVagrantOS() @@ -358,7 +365,7 @@ startVMPlaybookWin() cd $WORKSPACE/adoptopenjdkPBTests/${gitFork}-${newGitBranch}/ansible if [ "$newVagrantFiles" = "true" ]; then - if [[ "$useAdopt" == "true" ]] && [[ "$OS" == "Win2022" ]]; then + if [[ "$useAdopt" == "true" ]] && [[ "$OS" == "Win2022" || "$OS" == "Win2025" ]]; then echo "Use Adoptium Box For Win2022" ln -sf vagrant/Vagrantfile.$OS.Adopt Vagrantfile else @@ -465,14 +472,13 @@ startVMPlaybookWin() # Run a python script to start a test for the built JDK on the Windows VM if [[ $PYTHON_VERSION == *"Python 2."* ]]; then echo "Python 2 detected" - python pbTestScripts/startScriptWin.py -i "127.0.0.1:$vagrantPort" -t 2>&1 | tee $testLogPath + python pbTestScripts/startScriptWin.py -i "127.0.0.1:$vagrantPort" -a "$jdkToBuild" -t 2>&1 | tee $testLogPath elif [[ $PYTHON_VERSION == *"Python 3."* ]]; then echo "Python 3 detected" - #echo "Due To Changes In Python 3 - No Output Will Be Displayed Until The Build Is Completed" - #python pbTestScripts/startScriptWin_v2.py -i "127.0.0.1:$vagrantPort" -t 2>&1 | tee $testLogPath - # Create Powershell Script To Launch Tests - echo "& sh \"C:/vagrant/pbTestScripts/testJDKWin.sh\"" > testJDK_Tmp.ps1 - # Copy PowerShell Script From Vagrant Share For Performance Reasons & Launch + echo "Due To Changes In Python 3 - No Output Will Be Displayed Until The Build Is Completed" + # Create Powershell Script To Launch Build + echo "Set-Location -Path \"C:/tmp\"" > testJDK_Tmp.ps1 + echo "& sh \"C:/vagrant/pbTestScripts/testJDKWin.sh\" $jdkToBuild" >> testJDK_Tmp.ps1 vagrant winrm -s powershell -e -c 'copy c:/vagrant/testJDK_Tmp.ps1 c:/tmp; cd c:/tmp; pwd; ls' vagrant winrm -e -c 'powershell -ExecutionPolicy Bypass -File c:/tmp/testJDK_Tmp.ps1' | tee $testLogPath else @@ -528,10 +534,12 @@ echo "Testing on the following OSs: $vagrantOS" for OS in $vagrantOS do echo OS = $vagrantOS - if [[ "$OS" == "Win2012" || "$OS" == "Win2022" ]] ; then - startVMPlaybookWin $OS + echo "OS : $OS" + + if [[ "$OS" == "Win2012" || "$OS" == "Win2022" || "$OS" == "Win2025" ]]; then + startVMPlaybookWin "$OS" else - startVMPlaybook $OS + startVMPlaybook "$OS" fi if [[ "$vmHalt" == true ]]; then vagrant halt diff --git a/ansible/vagrant/Vagrantfile.Win2012 b/ansible/vagrant/Vagrantfile.Win2012 index ffcb48d882..d3a98cb4f9 100644 --- a/ansible/vagrant/Vagrantfile.Win2012 +++ b/ansible/vagrant/Vagrantfile.Win2012 @@ -11,7 +11,7 @@ Start-Process powershell -Verb runAs # Windows 2012r2 needs to be forced to use TLS1.2, see: https://github.com/adoptium/infrastructure/issues/1858 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -wget https://raw.githubusercontent.com/ansible/ansible-documentation/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile .\\ConfigureRemotingForAnsible.ps1 +wget https://raw.githubusercontent.com/ansible/ansible/38e50c9f819a045ea4d40068f83e78adbfaf2e68/examples/scripts/ConfigureRemotingForAnsible.ps1 -OutFile .\\ConfigureRemotingForAnsible.ps1 .\\ConfigureRemotingForAnsible.ps1 -CertValidityDays 9999 .\\ConfigureRemotingForAnsible.ps1 -EnableCredSSP .\\ConfigureRemotingForAnsible.ps1 -ForceNewSSLCert diff --git a/ansible/vagrant/Vagrantfile.Win2022 b/ansible/vagrant/Vagrantfile.Win2022 index cb21ebf89f..ea67e67eab 100644 --- a/ansible/vagrant/Vagrantfile.Win2022 +++ b/ansible/vagrant/Vagrantfile.Win2022 @@ -9,7 +9,7 @@ $script = <