diff --git a/.github/workflows/test_workflow.yml b/.github/workflows/test_workflow.yml index 9747a54c..d5642dce 100644 --- a/.github/workflows/test_workflow.yml +++ b/.github/workflows/test_workflow.yml @@ -12,529 +12,529 @@ permissions: actions: read jobs: - test-linux-glibc-amd64: - strategy: - fail-fast: false - matrix: - java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: ubuntu-latest - timeout-minutes: 180 - steps: - - uses: actions/checkout@v3 - - name: Prepare build JDK - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: "11" - - name: Setup OS - run: | - sudo apt-get update - sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev - - name: Prepare JDK ${{ matrix.java_version }} - run: | - wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-amd64.tar.gz -O jdk.tar.gz - tar xzf *.tar.gz - find . -type d -name 'jdk*' -maxdepth 1| xargs -I {} mv {} test_jdk - - name: Test - run: | - sudo sysctl vm.mmap_rnd_bits=28 - - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/${{ matrix.java_version }}-amd64 - export LIBC=glibc - export JAVA_TEST_HOME=$(pwd)/test_jdk - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-glibc-${{ matrix.java_version }}-amd64.zip - path: | - /tmp/hs_err* - ddprof-test/hs_err_* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - - test-linux-glibc-aarch64: - strategy: - fail-fast: false - matrix: - java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: - group: ARM LINUX SHARED - labels: arm-4core-linux - timeout-minutes: 180 - steps: - - uses: actions/checkout@v3 - - name: Prepare build JDK - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: "11" - - name: Setup OS - run: | - sudo apt update -y - sudo apt remove -y g++ - sudo apt autoremove -y - sudo apt install -y curl zip unzip clang make build-essential - - name: Prepare JDK ${{ matrix.java_version }} - run: | - wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-aarch64.tar.gz -O jdk.tar.gz - tar xzf *.tar.gz - find . -type d -name 'jdk*' -maxdepth 1| xargs -I {} mv {} test_jdk - - name: Test - run: | - sudo sysctl vm.mmap_rnd_bits=28 - - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/${{ matrix.java_version }}-aarch64 - export LIBC=glibc - export JAVA_TEST_HOME=$(pwd)/test_jdk - export SANITIZER=${{ matrix.config }} - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64" >> failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-glibc-${{ matrix.java_version }}-aarch64.zip - path: | - /tmp/hs_err* - ddprof-test/hs_err_* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt - - test-linux-glibc-j9-amd64: - strategy: - fail-fast: false - matrix: - java_version: [ 8, 11, 17 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: ubuntu-latest - timeout-minutes: 180 - steps: - - uses: actions/checkout@v3 - - name: Setup OS - run: | - sudo apt-get update - sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev +# test-linux-glibc-amd64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: ubuntu-latest +# timeout-minutes: 180 +# steps: +# - uses: actions/checkout@v3 +# - name: Prepare build JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: "11" +# - name: Setup OS +# run: | +# sudo apt-get update +# sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev +# - name: Prepare JDK ${{ matrix.java_version }} +# run: | +# wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-amd64.tar.gz -O jdk.tar.gz +# tar xzf *.tar.gz +# find . -type d -name 'jdk*' -maxdepth 1| xargs -I {} mv {} test_jdk +# - name: Test +# run: | # sudo sysctl vm.mmap_rnd_bits=28 - - name: Prepare test JDK - uses: actions/setup-java@v3 - with: - distribution: 'adopt-openj9' - java-version: "${{ matrix.java_version }}" - - name: Store JAVA_TEST_HOME - run: JAVA_PATH=$(which java) && echo "JAVA_TEST_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - - name: Prepare build JDK - uses: actions/setup-java@v3 - with: - distribution: 'adopt-openj9' - java-version: "11" - - name: Test - run: | - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} - export LIBC=glibc - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - chmod a+x gradlew - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-glibc-j9-${{ matrix.java_version }}-amd64.zip - path: | - /tmp/javacore* - ddprof-test/javacore* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - - test-linux-glibc-j9-aarch64: - strategy: - fail-fast: false - matrix: - java_version: [ 8, 11, 17 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: - group: ARM LINUX SHARED - labels: arm-4core-linux - timeout-minutes: 180 - steps: - - uses: actions/checkout@v3 - - name: Setup OS - run: | - sudo apt update -y - sudo apt remove -y g++ - sudo apt autoremove -y - sudo apt install -y curl zip unzip clang make build-essential - - name: Prepare test JDK - uses: actions/setup-java@v3 - with: - distribution: 'adopt-openj9' - java-version: "${{ matrix.java_version }}" - - name: Store JAVA_TEST_HOME - run: JAVA_PATH=$(which java) && echo "JAVA_TEST_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - - name: Prepare build JDK - uses: actions/setup-java@v3 - with: - distribution: 'adopt-openj9' - java-version: "11" - - name: Test - run: | - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} - export LIBC=glibc - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - chmod a+x gradlew - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64" >> failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-glibc-j9-${{ matrix.java_version }}-aarch64.zip - path: | - /tmp/javacore* - ddprof-test/javacore* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt - - test-linux-glibc-oracle8: - strategy: - fail-fast: false - matrix: - config: ${{ fromJson(inputs.configuration) }} - runs-on: ubuntu-latest - timeout-minutes: 180 - steps: - - uses: actions/checkout@v3 - - name: Setup OS - run: | - sudo apt-get update - sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev - - name: Prepare build JDK - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: "11" - - name: Prepare JDK ${{ matrix.java_version }} - run: | - sudo sysctl vm.mmap_rnd_bits=28 - set -eux; - sudo mkdir -p /usr/lib/jvm/oracle8; - # https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6?permalink_comment_id=4444663#gistcomment-4444663 - # jdk1.8.0_361 - curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=247926_0ae14417abb444ebb02b9815e2103550" | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 - uname -r - - name: Test - run: | - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/8 - export LIBC=glibc - export JAVA_TEST_HOME=/usr/lib/jvm/oracle8 - export JAVA_HOME=$JAVA_HOME - export PATH=$JAVA_HOME/bin:$PATH - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-oracle8-${{ matrix.config }}" >> failures_glibc-oracle8-${{ matrix.config }}.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-oracle-jdk-8.zip - path: | - ddprof-test/hs_err_* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: x64-oracle-jdk8-${{ matrix.config }} - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_glibc-oracle8-${{ matrix.config }}.txt - - test-linux-musl-amd64: - strategy: - fail-fast: false - matrix: - java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: ubuntu-latest - timeout-minutes: 180 - - container: - image: "alpine:3.14" - options: --cpus 2 - steps: - - uses: actions/checkout@v3 - - name: Setup OS - run: apk update && apk add curl moreutils wget hexdump linux-headers bash make g++ clang git cppcheck jq cmake gtest-dev gmock >/dev/null - - name: Prepare build JDK - run: | - wget -nv https://download.bell-sw.com/java/11.0.25+11/bellsoft-jdk11.0.25+11-linux-x64-musl.tar.gz -O jdk.tar.gz - tar xzf *.tar.gz - find . -type d -name 'jdk*' -maxdepth 1 | xargs -I {} mv {} build_jdk - - name: Prepare JDK ${{ matrix.java_version }} - run: | - wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-x64-musl.tar.gz -O jdk.tar.gz - tar xzf *.tar.gz - find . -type d -name 'jdk*' -maxdepth 1 | xargs -I {} mv {} test_jdk - - name: Test - run: | - set +e - export JAVA_HOME=$(pwd)/build_jdk - export PATH=$JAVA_HOME/bin:$PATH - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=musl/${{ matrix.java_version }} - export LIBC=musl - export JAVA_TEST_HOME=$(pwd)/test_jdk - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-musl-${{ matrix.java_version }}-amd64.zip - path: | - /tmp/hs_err* - ddprof-test/hs_err_* - ddprof-test/build/reports/tests - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - - test-linux-glibc-zing-amd64: - strategy: - fail-fast: false - matrix: - java_version: [ 8, 11, 17, 21 ] - config: ${{ fromJson(inputs.configuration) }} - runs-on: ubuntu-latest - timeout-minutes: 180 - - steps: - - name: Set config output - id: set_config - run: echo "::set-output name=config::${{ matrix.config }}" - - uses: actions/checkout@v3 - if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' - - name: Setup OS - run: | - sudo apt-get update - sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev - - name: Prepare build JDK - if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: "11" - - name: Prepare JDK ${{ matrix.java_version }} - if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' - run: | - sudo apt-get -y update && sudo apt-get -y install curl g++-9 gcc-9 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 - sudo update-alternatives --set gcc /usr/bin/gcc-9 - set -eux - sudo mkdir -p /usr/lib/jvm/zing - if [ "${{ matrix.java_version }}" = "8" ]; then - # jdk1.8.0_372 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk8.0.372-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "11" ]; then - # jdk 11.0.19 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk11.0.19-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "17" ]; then - # jdk 17.0.7 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk17.0.7-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "21" ]; then - # jdk 21.0.2 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.10.0.0/zing23.10.0.0-3-jdk21.0.1-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - fi - # rename the bundled libstdc++.so to avoid conflicts with the system one - sudo mv /usr/lib/jvm/zing/etc/libc++/libstdc++.so.6 /usr/lib/jvm/zing/etc/libc++/libstdc++.so.6.bak - - name: Test - if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' - run: | - set +e - export TEST_COMMIT=${{ github.sha }} - export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} - export LIBC=glibc - export JAVA_TEST_HOME=/usr/lib/jvm/zing - export JAVA_HOME=$JAVA_HOME - export PATH=$JAVA_HOME/bin:$PATH - export SANITIZER=${{ matrix.config }} - export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { - split($2, v, "[._]"); - if (v[1] == "1") { - # Java 8 or older: Include major, minor, and update - printf "%s.%s.%s\n", v[2], v[3], v[4] - } else { - # Java 9 or newer: Major, minor, and patch - printf "%s.%s.%s\n", v[1], v[2], v[3] - } - }') - ./gradlew :ddprof-test:test${{ matrix.config }} - if [ $? -ne 0 ]; then - echo "glibc-zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt - exit 1 - fi - - name: Upload logs - uses: actions/upload-artifact@v3 - if: always() - with: - name: reports-linux-zing-jdk-${{ matrix.java_version }}-amd64.zip - path: | - ddprof-test/hs_err_* - ddprof-test/build/reports/tests/test - ddprof-lib/src/test/build/Testing/Temporary/LastTest.log - ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt - - uses: actions/upload-artifact@v3 - if: success() - with: - name: glibc-zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64 - path: build/ - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: failures - path: failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/${{ matrix.java_version }}-amd64 +# export LIBC=glibc +# export JAVA_TEST_HOME=$(pwd)/test_jdk +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-glibc-${{ matrix.java_version }}-amd64.zip +# path: | +# /tmp/hs_err* +# ddprof-test/hs_err_* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# +# test-linux-glibc-aarch64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: +# group: ARM LINUX SHARED +# labels: arm-4core-linux +# timeout-minutes: 180 +# steps: +# - uses: actions/checkout@v3 +# - name: Prepare build JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: "11" +# - name: Setup OS +# run: | +# sudo apt update -y +# sudo apt remove -y g++ +# sudo apt autoremove -y +# sudo apt install -y curl zip unzip clang make build-essential +# - name: Prepare JDK ${{ matrix.java_version }} +# run: | +# wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-aarch64.tar.gz -O jdk.tar.gz +# tar xzf *.tar.gz +# find . -type d -name 'jdk*' -maxdepth 1| xargs -I {} mv {} test_jdk +# - name: Test +# run: | +# sudo sysctl vm.mmap_rnd_bits=28 +# +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/${{ matrix.java_version }}-aarch64 +# export LIBC=glibc +# export JAVA_TEST_HOME=$(pwd)/test_jdk +# export SANITIZER=${{ matrix.config }} +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64" >> failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-glibc-${{ matrix.java_version }}-aarch64.zip +# path: | +# /tmp/hs_err* +# ddprof-test/hs_err_* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_glibc-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt +# +# test-linux-glibc-j9-amd64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8, 11, 17 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: ubuntu-latest +# timeout-minutes: 180 +# steps: +# - uses: actions/checkout@v3 +# - name: Setup OS +# run: | +# sudo apt-get update +# sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev +## sudo sysctl vm.mmap_rnd_bits=28 +# - name: Prepare test JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'adopt-openj9' +# java-version: "${{ matrix.java_version }}" +# - name: Store JAVA_TEST_HOME +# run: JAVA_PATH=$(which java) && echo "JAVA_TEST_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV +# - name: Prepare build JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'adopt-openj9' +# java-version: "11" +# - name: Test +# run: | +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} +# export LIBC=glibc +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# chmod a+x gradlew +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-glibc-j9-${{ matrix.java_version }}-amd64.zip +# path: | +# /tmp/javacore* +# ddprof-test/javacore* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# +# test-linux-glibc-j9-aarch64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8, 11, 17 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: +# group: ARM LINUX SHARED +# labels: arm-4core-linux +# timeout-minutes: 180 +# steps: +# - uses: actions/checkout@v3 +# - name: Setup OS +# run: | +# sudo apt update -y +# sudo apt remove -y g++ +# sudo apt autoremove -y +# sudo apt install -y curl zip unzip clang make build-essential +# - name: Prepare test JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'adopt-openj9' +# java-version: "${{ matrix.java_version }}" +# - name: Store JAVA_TEST_HOME +# run: JAVA_PATH=$(which java) && echo "JAVA_TEST_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV +# - name: Prepare build JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'adopt-openj9' +# java-version: "11" +# - name: Test +# run: | +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} +# export LIBC=glibc +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# chmod a+x gradlew +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64" >> failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-glibc-j9-${{ matrix.java_version }}-aarch64.zip +# path: | +# /tmp/javacore* +# ddprof-test/javacore* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_glibc-j9-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt +# +# test-linux-glibc-oracle8: +# strategy: +# fail-fast: false +# matrix: +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: ubuntu-latest +# timeout-minutes: 180 +# steps: +# - uses: actions/checkout@v3 +# - name: Setup OS +# run: | +# sudo apt-get update +# sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev +# - name: Prepare build JDK +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: "11" +# - name: Prepare JDK ${{ matrix.java_version }} +# run: | +# sudo sysctl vm.mmap_rnd_bits=28 +# set -eux; +# sudo mkdir -p /usr/lib/jvm/oracle8; +# # https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6?permalink_comment_id=4444663#gistcomment-4444663 +# # jdk1.8.0_361 +# curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=247926_0ae14417abb444ebb02b9815e2103550" | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 +# uname -r +# - name: Test +# run: | +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/8 +# export LIBC=glibc +# export JAVA_TEST_HOME=/usr/lib/jvm/oracle8 +# export JAVA_HOME=$JAVA_HOME +# export PATH=$JAVA_HOME/bin:$PATH +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-oracle8-${{ matrix.config }}" >> failures_glibc-oracle8-${{ matrix.config }}.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-oracle-jdk-8.zip +# path: | +# ddprof-test/hs_err_* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: x64-oracle-jdk8-${{ matrix.config }} +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_glibc-oracle8-${{ matrix.config }}.txt +# +# test-linux-musl-amd64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8u432+7, 11.0.25+11, 17.0.13+12, 21.0.5+11, 23.0.1+13 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: ubuntu-latest +# timeout-minutes: 180 +# +# container: +# image: "alpine:3.14" +# options: --cpus 2 +# steps: +# - uses: actions/checkout@v3 +# - name: Setup OS +# run: apk update && apk add curl moreutils wget hexdump linux-headers bash make g++ clang git cppcheck jq cmake gtest-dev gmock >/dev/null +# - name: Prepare build JDK +# run: | +# wget -nv https://download.bell-sw.com/java/11.0.25+11/bellsoft-jdk11.0.25+11-linux-x64-musl.tar.gz -O jdk.tar.gz +# tar xzf *.tar.gz +# find . -type d -name 'jdk*' -maxdepth 1 | xargs -I {} mv {} build_jdk +# - name: Prepare JDK ${{ matrix.java_version }} +# run: | +# wget -nv https://download.bell-sw.com/java/${{ matrix.java_version }}/bellsoft-jdk${{ matrix.java_version }}-linux-x64-musl.tar.gz -O jdk.tar.gz +# tar xzf *.tar.gz +# find . -type d -name 'jdk*' -maxdepth 1 | xargs -I {} mv {} test_jdk +# - name: Test +# run: | +# set +e +# export JAVA_HOME=$(pwd)/build_jdk +# export PATH=$JAVA_HOME/bin:$PATH +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=musl/${{ matrix.java_version }} +# export LIBC=musl +# export JAVA_TEST_HOME=$(pwd)/test_jdk +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-musl-${{ matrix.java_version }}-amd64.zip +# path: | +# /tmp/hs_err* +# ddprof-test/hs_err_* +# ddprof-test/build/reports/tests +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_musl-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# +# test-linux-glibc-zing-amd64: +# strategy: +# fail-fast: false +# matrix: +# java_version: [ 8, 11, 17, 21 ] +# config: ${{ fromJson(inputs.configuration) }} +# runs-on: ubuntu-latest +# timeout-minutes: 180 +# +# steps: +# - name: Set config output +# id: set_config +# run: echo "::set-output name=config::${{ matrix.config }}" +# - uses: actions/checkout@v3 +# if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' +# - name: Setup OS +# run: | +# sudo apt-get update +# sudo apt-get install -y curl zip unzip libgtest-dev libgmock-dev +# - name: Prepare build JDK +# if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: "11" +# - name: Prepare JDK ${{ matrix.java_version }} +# if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' +# run: | +# sudo apt-get -y update && sudo apt-get -y install curl g++-9 gcc-9 +# sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 +# sudo update-alternatives --set gcc /usr/bin/gcc-9 +# set -eux +# sudo mkdir -p /usr/lib/jvm/zing +# if [ "${{ matrix.java_version }}" = "8" ]; then +# # jdk1.8.0_372 +# curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk8.0.372-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 +# elif [ "${{ matrix.java_version }}" = "11" ]; then +# # jdk 11.0.19 +# curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk11.0.19-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 +# elif [ "${{ matrix.java_version }}" = "17" ]; then +# # jdk 17.0.7 +# curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.05.0.0/zing23.05.0.0-2-jdk17.0.7-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 +# elif [ "${{ matrix.java_version }}" = "21" ]; then +# # jdk 21.0.2 +# curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM23.10.0.0/zing23.10.0.0-3-jdk21.0.1-linux_x64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 +# fi +# # rename the bundled libstdc++.so to avoid conflicts with the system one +# sudo mv /usr/lib/jvm/zing/etc/libc++/libstdc++.so.6 /usr/lib/jvm/zing/etc/libc++/libstdc++.so.6.bak +# - name: Test +# if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' +# run: | +# set +e +# export TEST_COMMIT=${{ github.sha }} +# export TEST_CONFIGURATION=glibc/${{ matrix.java_version }} +# export LIBC=glibc +# export JAVA_TEST_HOME=/usr/lib/jvm/zing +# export JAVA_HOME=$JAVA_HOME +# export PATH=$JAVA_HOME/bin:$PATH +# export SANITIZER=${{ matrix.config }} +# export JAVA_VERSION=$(${JAVA_TEST_HOME}/bin/java -version 2>&1 | awk -F '"' '/version/ { +# split($2, v, "[._]"); +# if (v[1] == "1") { +# # Java 8 or older: Include major, minor, and update +# printf "%s.%s.%s\n", v[2], v[3], v[4] +# } else { +# # Java 9 or newer: Major, minor, and patch +# printf "%s.%s.%s\n", v[1], v[2], v[3] +# } +# }') +# ./gradlew :ddprof-test:test${{ matrix.config }} +# if [ $? -ne 0 ]; then +# echo "glibc-zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64" >> failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt +# exit 1 +# fi +# - name: Upload logs +# uses: actions/upload-artifact@v3 +# if: always() +# with: +# name: reports-linux-zing-jdk-${{ matrix.java_version }}-amd64.zip +# path: | +# ddprof-test/hs_err_* +# ddprof-test/build/reports/tests/test +# ddprof-lib/src/test/build/Testing/Temporary/LastTest.log +# ddprof-lib/build/tmp/compileReleaseLinuxCpp/output.txt +# - uses: actions/upload-artifact@v3 +# if: success() +# with: +# name: glibc-zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64 +# path: build/ +# - uses: actions/upload-artifact@v3 +# if: failure() +# with: +# name: failures +# path: failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-amd64.txt test-linux-glibc-zing-aarch64: strategy: @@ -565,6 +565,11 @@ jobs: with: distribution: 'temurin' java-version: "11" + - name: Cache JDK Downloads + uses: actions/cache@v3 + with: + path: /home/runner/jvm + key: ${{ runner.os }}-zing-jdk-${{ matrix.java_version }}-v0 - name: Prepare JDK ${{ matrix.java_version }} if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' run: | @@ -572,20 +577,23 @@ jobs: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 sudo update-alternatives --set gcc /usr/bin/gcc-9 set -eux - sudo mkdir -p /usr/lib/jvm/zing - if [ "${{ matrix.java_version }}" = "8" ]; then - # jdk1.8.0_432 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk8.0.431-linux_aarch64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "11" ]; then - # jdk 11.0.24 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk11.0.24.0.101-linux_aarch64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "17" ]; then - # jdk 17.0.12 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk17.0.12.0.101-linux_aarch64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 - elif [ "${{ matrix.java_version }}" = "21" ]; then - # jdk 21.0.4 - curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk21.0.4.0.101-linux_aarch64.tar.gz" | sudo tar -xvzf - -C /usr/lib/jvm/zing --strip-components 1 + OUTPUT_ZING="$HOME/jvm/zing" + if [ ! -d "$OUTPUT_ZING/bin" ]; then + mkdir -p $OUTPUT_ZING + if [ "${{ matrix.java_version }}" = "8" ]; then + curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk8.0.431-linux_aarch64.tar.gz" | tar -xvzf - -C $OUTPUT_ZING --strip-components 1 + elif [ "${{ matrix.java_version }}" = "11" ]; then + curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk11.0.24.0.101-linux_aarch64.tar.gz" | tar -xvzf - -C $OUTPUT_ZING --strip-components 1 + elif [ "${{ matrix.java_version }}" = "17" ]; then + curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk17.0.12.0.101-linux_aarch64.tar.gz" | tar -xvzf - -C $OUTPUT_ZING --strip-components 1 + elif [ "${{ matrix.java_version }}" = "21" ]; then + curl -L --fail "https://cdn.azul.com/zing-zvm/ZVM24.10.0.0/zing24.10.0.0-4-jdk21.0.4.0.101-linux_aarch64.tar.gz" | tar -xvzf - -C $OUTPUT_ZING --strip-components 1 + fi + else + echo "Using cached JDK" fi + sudo mkdir -p /usr/lib/jvm + sudo ln -s $OUTPUT_ZING /usr/lib/jvm/zing - name: Test if: steps.set_config.outputs.config == 'release' || steps.set_config.outputs.config == 'debug' run: | @@ -631,4 +639,8 @@ jobs: if: failure() with: name: failures - path: failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt \ No newline at end of file + path: failures_zing-${{ matrix.java_version }}-${{ matrix.config }}-aarch64.txt + - name: Check Cache Path Permissions + run: | + ls -ld $HOME/jvm + ls -la $HOME/jvm/zing