From a17722690c03d640c2e22c005854d9c987568737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 18:34:06 +0100 Subject: [PATCH 01/18] ditching internal downloading of jdk trying to remove various code crutches that used to be necessary, but should not be needed anymore --- testHeadlessComponents.sh | 86 +++++---------------------------------- 1 file changed, 11 insertions(+), 75 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index efd47b6..92c1432 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -18,70 +18,6 @@ while [ -h "$SCRIPT_SOURCE" ]; do # resolve $SOURCE until the file is no longer done readonly SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" -# detecting platform -platform="$(uname)" -if [ "$platform" == "Linux" ]; then - # Linux-specific code - OS="linux" - JAVA=$JAVA_HOME/bin/java -elif [ "$platform" == "Darwin" ]; then - # Mac-specific code - OS="mac" - JAVA=$JAVA_HOME/bin/java - #JAVA=java -elif [ "${platform#"MINGW64_NT"}" != "$platform" ]; then - # Windows (MinGW) specific code - OS="windows" - JAVA=$JAVA_HOME/bin/java -elif [ "${platform#"CYGWIN_NT"}" != "$platform" ]; then - # Windows (CygWin) specific code - OS="windows" - JAVA=$JAVA_HOME/bin/java -else - echo "Unsupported platform" - exit 1 -fi - -function unwrap_file_to_location() { - if [ "$OS" == "mac" -o "$OS" == "linux" ]; then - tar --strip-components=1 -xf $1 -C $2 - elif [ "$OS" == "windows" ]; then - unzip $1 -d $2 - # Get the name of the extracted folder (assuming only one folder is present) - ls $2 - extracted_folder_name=$(ls $2) - - # Ensure only one folder is found - if [ "$(ls $2 | wc -l)" -eq 1 ]; then - # Move the contents to the desired destination without creating a new directory - mv "$2/$extracted_folder_name"/* "$2" - else - echo "Error: More than one directory found in $2." - fi - fi -} - -function installAlternativeJDK() { - ARCH=$( uname -m ) - if [ "x$BOOTJDK_DIR" == "x" ]; then - BOOTJDK_DIR=~/bootjdk - fi - if [ "x$BOOTJDK_ARCHIVE_DIR" == "x" ]; then - BOOTJDK_ARCHIVE_DIR=$WORKSPACE/bootjdkarchive - mkdir -p $BOOTJDK_ARCHIVE_DIR - cd $BOOTJDK_ARCHIVE_DIR - curl -OLJks "https://api.adoptopenjdk.net/v3/binary/latest/$OJDK_VERSION_NUMBER/ga/$OS/$ARCH/jdk/hotspot/normal/adoptopenjdk" - rm -rf ${BOOTJDK_DIR} - mkdir -p ${BOOTJDK_DIR} - unwrap_file_to_location ${BOOTJDK_ARCHIVE_DIR}/* ${BOOTJDK_DIR} - else - rm -rf ${BOOTJDK_DIR} - mkdir -p ${BOOTJDK_DIR} - ls ${BOOTJDK_ARCHIVE_DIR} - unwrap_file_to_location ${BOOTJDK_ARCHIVE_DIR}/*${ARCH}.tarxz ${BOOTJDK_DIR} - fi -} - function run_java_with_headless { COMPONENTS_TO_TEST=$2 $JAVA -cp $cp -Djava.awt.headless=$1 MainRunner -test=$COMPONENTS_TO_TEST -jreSdkHeadless=$JREJDK -displayValue=$DISPLAY @@ -172,21 +108,21 @@ popd LOGFILE=$TMPRESULTS/testHeadlessComponent.log -installAlternativeJDK +#TEST_JDK_HOME always contains link to the home directory of the available SDK -JAVAC_BINARY="${BOOTJDK_DIR}/bin/javac" -if [ "$OS" == "mac" ]; then - JAVAC_BINARY="${BOOTJDK_DIR}/Contents/Home/bin/javac" -fi +JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" + +#JAVA_TO_TEST can contain either link to SDK or JRE java executable, however always the java that we want to test with +JAVA=$JAVA_TO_TEST -#use bootjdk javac #other classes depend on this one, so we might as well just compile the main class -cp -r $SCRIPT_DIR/testHeadlessComponents $WORKSPACE -ls $WORKSPACE -pushd $WORKSPACE/testHeadlessComponents/jreTestingSwingComponents/src +#cp -r $SCRIPT_DIR/testHeadlessComponents $WORKSPACE +#ls $WORKSPACE +#pushd $WORKSPACE/testHeadlessComponents/jreTestingSwingComponents/src -cp=`mktemp -d` -$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp +#cp=`mktemp -d` +#$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp +$JAVAC_BINARY `find . -type f -name "*.java"` declare -A resArray set +e From 0f6ba263bcdb63da9d9ae844a052abb1ade6f105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 18:40:17 +0100 Subject: [PATCH 02/18] updating yaml file to account for the changes --- .github/workflows/test.yaml | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 4c793a4..456b711 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -39,7 +39,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -79,7 +79,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -126,7 +126,7 @@ jobs: - name: Run shell: msys2 {0} run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -174,7 +174,7 @@ jobs: - name: Run shell: msys2 {0} run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -200,8 +200,6 @@ jobs: - JDK 17 - JDK Latest include: - - jdkconf: JDK 8 - jdkver: "8" - jdkconf: JDK 11 jdkver: "11" - jdkconf: JDK 17 @@ -221,7 +219,7 @@ jobs: run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL - name: Verify Bash Version - run: /usr/local/bin/bash --version + run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version - name: Set up JDK uses: actions/setup-java@v3 @@ -230,8 +228,8 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" WORKSPACE=/Users/runner/workspace - /usr/local/bin/bash testHeadlessComponents.sh + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} run: | @@ -258,8 +256,6 @@ jobs: - JDK 17 - JDK Latest include: - - jdkconf: JDK 8 - jdkver: "8" - jdkconf: JDK 11 jdkver: "11" - jdkconf: JDK 17 @@ -279,7 +275,7 @@ jobs: run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL - name: Verify Bash Version - run: /usr/local/bin/bash --version + run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version - name: Set up JDK uses: actions/setup-java@v3 @@ -288,8 +284,8 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk" WORKSPACE=/Users/runner/workspace - /usr/local/bin/bash testHeadlessComponents.sh + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} run: | From 7976cbca6b2f2a6aba32001caf82ff3b24d6b4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 19:08:06 +0100 Subject: [PATCH 03/18] v3 github actions deprecated --- .github/workflows/test.yaml | 40 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 456b711..308c923 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -31,9 +31,9 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -47,7 +47,7 @@ jobs: tar -cf "results-linux-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-linux-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true @@ -71,9 +71,9 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -87,7 +87,7 @@ jobs: tar -cf "results-linux-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-linux-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true @@ -111,15 +111,15 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: msys2/setup-msys2@v2 with: update: true install: wget tar git unzip - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -135,7 +135,7 @@ jobs: tar -cf "results-windows-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-windows-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true @@ -159,15 +159,15 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: msys2/setup-msys2@v2 with: update: true install: wget tar git unzip - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -183,7 +183,7 @@ jobs: tar -cf "results-windows-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-windows-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true @@ -205,7 +205,7 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Homebrew run: | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" @@ -222,7 +222,7 @@ jobs: run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -237,7 +237,7 @@ jobs: tar -cf "results-macos-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-macos-jre${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true @@ -261,7 +261,7 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Homebrew run: | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" @@ -278,7 +278,7 @@ jobs: run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.jdkver || env.jdkver_latest }} @@ -293,7 +293,7 @@ jobs: tar -cf "results-macos-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" $WORKSPACE/testHeadlessComponent.log $WORKSPACE/testHeadlessComponent.jtr.xml - name: Upload results if: ${{ always() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: "results-macos-jdk${{ matrix.jdkver || env.jdkver_latest }}.tar.gz" continue-on-error: true From 14f8c91b00ce363ac6f2276582b8b01748b71b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 19:28:14 +0100 Subject: [PATCH 04/18] forgot about the classpath variable, this one is needed :D --- testHeadlessComponents.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 92c1432..1ddd750 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -123,6 +123,7 @@ JAVA=$JAVA_TO_TEST #cp=`mktemp -d` #$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp $JAVAC_BINARY `find . -type f -name "*.java"` +cp="$(pwd)/testHeadlessComponents/jreTestingSwingComponents/src" declare -A resArray set +e From 26554f048ac5643eb67683906e7e66394d77b59d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 19:53:08 +0100 Subject: [PATCH 05/18] yaml file update, forgot update bash variables --- .github/workflows/test.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 308c923..9459f78 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -39,7 +39,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jdk" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -79,7 +79,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -126,7 +126,7 @@ jobs: - name: Run shell: msys2 {0} run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -174,7 +174,7 @@ jobs: - name: Run shell: msys2 {0} run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" ./testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -228,7 +228,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} BOOTJDK_DIR=~/bootjdk JREJDK="jre" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} @@ -284,7 +284,7 @@ jobs: java-version: ${{ matrix.jdkver || env.jdkver_latest }} - name: Run run: | - export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" JAVA_COMMAND="${JAVA_HOME}/bin/java" + export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} From 898eb47e5a01f59a5d0f8203fc845dbc23d008fb Mon Sep 17 00:00:00 2001 From: andrlos <80903703+andrlos@users.noreply.github.com> Date: Fri, 7 Nov 2025 21:09:24 +0100 Subject: [PATCH 06/18] fixing and updating yaml file fixing and updating yaml file to be compatible and up-to-date --- .github/workflows/test.yaml | 50 +++++++++++++++---------------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 9459f78..4a395e0 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -205,21 +205,16 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v4 - - name: Install Homebrew + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Bash with brew run: | - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - echo 'eval $(/usr/local/bin/brew shellenv)' >> $HOME/.zprofile - eval $(/usr/local/bin/brew shellenv) - - - name: Install Bash with Homebrew - run: brew install bash - - - name: Update Shell Configuration - run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL - - - name: Verify Bash Version - run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version + brew install bash + echo "/usr/local/bin/bash" >> $GITHUB_PATH + + - name: Check Bash version + run: bash --version - name: Set up JDK uses: actions/setup-java@v4 @@ -229,7 +224,7 @@ jobs: - name: Run run: | export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jre" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" - /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh + bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} run: | @@ -261,22 +256,17 @@ jobs: - jdkconf: JDK 17 jdkver: "17" steps: - - uses: actions/checkout@v4 - - name: Install Homebrew + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Bash with brew run: | - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - echo 'eval $(/usr/local/bin/brew shellenv)' >> $HOME/.zprofile - eval $(/usr/local/bin/brew shellenv) - - - name: Install Bash with Homebrew - run: brew install bash - - - name: Update Shell Configuration - run: echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.zprofile && exec -l $SHELL - - - name: Verify Bash Version - run: /opt/homebrew/Cellar/bash/5.2.37/bin/bash --version + brew install bash + echo "/usr/local/bin/bash" >> $GITHUB_PATH + - name: Check Bash version + run: bash --version + - name: Set up JDK uses: actions/setup-java@v4 with: @@ -285,7 +275,7 @@ jobs: - name: Run run: | export OJDK_VERSION_NUMBER=${{ matrix.jdkver || env.jdkver_latest }} JREJDK="jdk" WORKSPACE=/Users/runner/workspace JAVA_TO_TEST="${JAVA_HOME}/bin/java" TEST_JDK_HOME="${JAVA_HOME}" - /opt/homebrew/Cellar/bash/5.2.37/bin/bash testHeadlessComponents.sh + bash testHeadlessComponents.sh - name: Pack results if: ${{ always() }} run: | From 4fa6be914c4241773709c89b5fcbe761e072bf0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 21:12:35 +0100 Subject: [PATCH 07/18] moving run-folder-as-test to be a module instead of hardcoded clone --- .gitmodules | 3 +++ RFaT | 1 + testHeadlessComponents.sh | 8 +------- 3 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 .gitmodules create mode 160000 RFaT diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..257ec3f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "RFaT"] + path = RFaT + url = https://github.com/rh-openjdk/run-folder-as-tests.git diff --git a/RFaT b/RFaT new file mode 160000 index 0000000..80b2151 --- /dev/null +++ b/RFaT @@ -0,0 +1 @@ +Subproject commit 80b2151eec52bd84ba18744f20304f64577d5414 diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 1ddd750..de7ef6a 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -79,13 +79,7 @@ PASSED=0 IGNORED=0 BODY="" -if [ "x$RFaT" == "x" ]; then - readonly RFaT=`mktemp -d` - git clone https://github.com/rh-openjdk/run-folder-as-tests.git ${RFaT} 1>&2 - ls -l ${RFaT} 1>&2 -fi - -source ${RFaT}/jtreg-shell-xml.sh +source RFaT/jtreg-shell-xml.sh if [[ -z "${WORKSPACE}" ]]; then WORKSPACE=~/workspace From 97ca08e65339c109b053330640b0939cff1e87de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 21:21:03 +0100 Subject: [PATCH 08/18] checkouting with submodules should solve the issue --- .github/workflows/test.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 4a395e0..14e005d 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -32,6 +32,9 @@ jobs: jdkver: "17" steps: - uses: actions/checkout@v4 + with: + submodules: true + - name: Set up JDK uses: actions/setup-java@v4 with: @@ -72,6 +75,9 @@ jobs: jdkver: "17" steps: - uses: actions/checkout@v4 + with: + submodules: true + - name: Set up JDK uses: actions/setup-java@v4 with: @@ -112,6 +118,9 @@ jobs: jdkver: "17" steps: - uses: actions/checkout@v4 + with: + submodules: true + - uses: msys2/setup-msys2@v2 with: update: true @@ -160,6 +169,9 @@ jobs: jdkver: "17" steps: - uses: actions/checkout@v4 + with: + submodules: true + - uses: msys2/setup-msys2@v2 with: update: true @@ -207,6 +219,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + submodules: true - name: Install Bash with brew run: | @@ -258,6 +272,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + submodules: true - name: Install Bash with brew run: | From b9410cd9ef890069bba337c063be92ca4526f89a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 7 Nov 2025 21:22:59 +0100 Subject: [PATCH 09/18] removing now unnecessary SCRIPT_DIR variable --- testHeadlessComponents.sh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index de7ef6a..eb50da8 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -7,17 +7,6 @@ set -o pipefail ## assumes that both directories with old and new rpms are provided and filled with relevant rpms ## this script attempts parallel installation of old and new set of rpms -## resolve folder of this script, following all symlinks, -## http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in -SCRIPT_SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SCRIPT_SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" - SCRIPT_SOURCE="$(readlink "$SCRIPT_SOURCE")" - # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located - [[ $SCRIPT_SOURCE != /* ]] && SCRIPT_SOURCE="$SCRIPT_DIR/$SCRIPT_SOURCE" -done -readonly SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" - function run_java_with_headless { COMPONENTS_TO_TEST=$2 $JAVA -cp $cp -Djava.awt.headless=$1 MainRunner -test=$COMPONENTS_TO_TEST -jreSdkHeadless=$JREJDK -displayValue=$DISPLAY @@ -109,13 +98,6 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" #JAVA_TO_TEST can contain either link to SDK or JRE java executable, however always the java that we want to test with JAVA=$JAVA_TO_TEST -#other classes depend on this one, so we might as well just compile the main class -#cp -r $SCRIPT_DIR/testHeadlessComponents $WORKSPACE -#ls $WORKSPACE -#pushd $WORKSPACE/testHeadlessComponents/jreTestingSwingComponents/src - -#cp=`mktemp -d` -#$JAVAC_BINARY `find . -type f -name "*.java"` -d $cp $JAVAC_BINARY `find . -type f -name "*.java"` cp="$(pwd)/testHeadlessComponents/jreTestingSwingComponents/src" From 3d73b643d398194f6408e8f4155717341b7b3d50 Mon Sep 17 00:00:00 2001 From: andrlos <80903703+andrlos@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:58:09 +0100 Subject: [PATCH 10/18] Update testHeadlessComponents.sh returning SCRIPT_DIR as other means to obtain relevant script home directory proved impractical --- testHeadlessComponents.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index eb50da8..0a5f448 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -7,6 +7,17 @@ set -o pipefail ## assumes that both directories with old and new rpms are provided and filled with relevant rpms ## this script attempts parallel installation of old and new set of rpms +## resolve folder of this script, following all symlinks, +## http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in +SCRIPT_SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SCRIPT_SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" + SCRIPT_SOURCE="$(readlink "$SCRIPT_SOURCE")" + # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located + [[ $SCRIPT_SOURCE != /* ]] && SCRIPT_SOURCE="$SCRIPT_DIR/$SCRIPT_SOURCE" +done +readonly SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" + function run_java_with_headless { COMPONENTS_TO_TEST=$2 $JAVA -cp $cp -Djava.awt.headless=$1 MainRunner -test=$COMPONENTS_TO_TEST -jreSdkHeadless=$JREJDK -displayValue=$DISPLAY @@ -68,7 +79,7 @@ PASSED=0 IGNORED=0 BODY="" -source RFaT/jtreg-shell-xml.sh +source $SCRIPT_DIR/RFaT/jtreg-shell-xml.sh if [[ -z "${WORKSPACE}" ]]; then WORKSPACE=~/workspace From 1dd50df6223bb8c2435c19f420149d1f2bb40765 Mon Sep 17 00:00:00 2001 From: andrlos <80903703+andrlos@users.noreply.github.com> Date: Tue, 11 Nov 2025 13:57:14 +0100 Subject: [PATCH 11/18] Update testHeadlessComponents.sh SCRIPT_DIR saves the day --- testHeadlessComponents.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 0a5f448..db260d1 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -109,8 +109,8 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" #JAVA_TO_TEST can contain either link to SDK or JRE java executable, however always the java that we want to test with JAVA=$JAVA_TO_TEST -$JAVAC_BINARY `find . -type f -name "*.java"` -cp="$(pwd)/testHeadlessComponents/jreTestingSwingComponents/src" +$JAVAC_BINARY `find $SCRIPT_DIR -type f -name "*.java"` +cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" declare -A resArray set +e From fe0da7aec2a4829d79d32c48e1e1dedf4fd51c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 21 Nov 2025 21:15:00 +0100 Subject: [PATCH 12/18] an attempt to fix windows paths --- testHeadlessComponents.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index db260d1..76e3d42 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -108,9 +108,10 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" #JAVA_TO_TEST can contain either link to SDK or JRE java executable, however always the java that we want to test with JAVA=$JAVA_TO_TEST - -$JAVAC_BINARY `find $SCRIPT_DIR -type f -name "*.java"` -cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" +pushd $SCRIPT_DIR + $JAVAC_BINARY `find . -type f -name "*.java"` + cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" +popd $SCRIPT_DIR declare -A resArray set +e From e76e5597432a545fcaca5bcd82f95c6a437f8a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Fri, 21 Nov 2025 21:33:57 +0100 Subject: [PATCH 13/18] it is late --- testHeadlessComponents.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 76e3d42..691483b 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -111,7 +111,7 @@ JAVA=$JAVA_TO_TEST pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" -popd $SCRIPT_DIR +popd declare -A resArray set +e From f480269dd8e8e62fe65b8204a08f846ac381b599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Tue, 25 Nov 2025 23:33:50 +0100 Subject: [PATCH 14/18] debuggig windows aqa-tests --- testHeadlessComponents.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 691483b..eea051c 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -110,7 +110,8 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" JAVA=$JAVA_TO_TEST pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` - cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" + cp="testHeadlessComponents/jreTestingSwingComponents/src" + ls testHeadlessComponents/jreTestingSwingComponents/src popd declare -A resArray From 3e71086b699bd7f4882815dd02a2a0555597f178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Wed, 26 Nov 2025 09:38:40 +0100 Subject: [PATCH 15/18] aqa-tests debugging windows #2 --- testHeadlessComponents.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index eea051c..80f6b4b 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -20,6 +20,8 @@ readonly SCRIPT_DIR="$( cd -P "$( dirname "$SCRIPT_SOURCE" )" && pwd )" function run_java_with_headless { COMPONENTS_TO_TEST=$2 + pwd + ls $cp $JAVA -cp $cp -Djava.awt.headless=$1 MainRunner -test=$COMPONENTS_TO_TEST -jreSdkHeadless=$JREJDK -displayValue=$DISPLAY } @@ -96,10 +98,6 @@ mkdir -p $TMPRESULTS touch $TMPRESULTS/testHeadlessComponent.txt -pushd $WORKSPACE - -popd - LOGFILE=$TMPRESULTS/testHeadlessComponent.log #TEST_JDK_HOME always contains link to the home directory of the available SDK @@ -110,7 +108,7 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" JAVA=$JAVA_TO_TEST pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` - cp="testHeadlessComponents/jreTestingSwingComponents/src" + cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" ls testHeadlessComponents/jreTestingSwingComponents/src popd @@ -141,7 +139,6 @@ for testOption in compatible incompatible; do done done -popd set -e set -x From 695fb314d270f002d7f8069770b8b1744483b620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Thu, 4 Dec 2025 00:52:37 +0100 Subject: [PATCH 16/18] relative path for classpath solves windows problem without the need to figure the running system --- testHeadlessComponents.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 80f6b4b..501bed1 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -108,7 +108,7 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" JAVA=$JAVA_TO_TEST pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` - cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" + cp="TestHeadlessComponents/testHeadlessComponents/jreTestingSwingComponents/src" ls testHeadlessComponents/jreTestingSwingComponents/src popd From b7b43337ee3f6cf24445851ef60464ae3eeda32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Thu, 4 Dec 2025 13:15:55 +0100 Subject: [PATCH 17/18] relative path deduced instead of hardcoded --- testHeadlessComponents.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 501bed1..414cf46 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -108,10 +108,10 @@ JAVAC_BINARY="${TEST_JDK_HOME}/bin/javac" JAVA=$JAVA_TO_TEST pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` - cp="TestHeadlessComponents/testHeadlessComponents/jreTestingSwingComponents/src" - ls testHeadlessComponents/jreTestingSwingComponents/src popd +cp=$(realpath --relative-to="$(pwd)" "$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src") + declare -A resArray set +e From 0d157a6ba5d60c78cc1032f50206c731a44f417f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Andrl=C3=ADk?= Date: Thu, 4 Dec 2025 15:50:47 +0100 Subject: [PATCH 18/18] trying local determination of the system and cygpath accordingly --- testHeadlessComponents.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/testHeadlessComponents.sh b/testHeadlessComponents.sh index 414cf46..7cab3db 100755 --- a/testHeadlessComponents.sh +++ b/testHeadlessComponents.sh @@ -110,7 +110,14 @@ pushd $SCRIPT_DIR $JAVAC_BINARY `find . -type f -name "*.java"` popd -cp=$(realpath --relative-to="$(pwd)" "$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src") +cp="$SCRIPT_DIR/testHeadlessComponents/jreTestingSwingComponents/src" + +# in case of windows we need to cygpath the path before passing it to the jdk +case "$(uname -s)" in + MSYS_NT*|MINGW32_NT*|MINGW64_NT*|CYGWIN_NT*) + cp="$(cygpath -w "$cp")" + ;; +esac declare -A resArray set +e