From aace3c464b28ff010b4fb5946f0bf2c3ed68d007 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Feb 2025 23:05:58 -0600 Subject: [PATCH 1/3] Bump the github-actions group with 3 updates (#5288) --- .github/workflows/cmake-ctest.yml | 4 ++-- .github/workflows/release-files.yml | 4 ++-- .github/workflows/scorecard.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 13963c64340..fcf780fa5ea 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -149,7 +149,7 @@ jobs: shell: bash - name: Sign files with Trusted Signing - uses: azure/trusted-signing-action@v0.5.0 + uses: azure/trusted-signing-action@v0.5.1 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} @@ -695,7 +695,7 @@ jobs: shell: pwsh - name: Sign files with Trusted Signing (Windows_intel) - uses: azure/trusted-signing-action@v0.5.0 + uses: azure/trusted-signing-action@v0.5.1 with: azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index 721f10fa102..9e79fd6a597 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -221,7 +221,7 @@ jobs: - name: PreRelease tag id: create_prerelease if: ${{ (inputs.use_environ == 'snapshots') }} - uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 + uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 with: tag_name: "${{ inputs.use_tag }}" prerelease: true @@ -249,7 +249,7 @@ jobs: - name: Release tag id: create_release if: ${{ (inputs.use_environ == 'release') }} - uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 + uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1 with: tag_name: "${{ inputs.use_tag }}" prerelease: false diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ed87159e5c7..dc3a931a497 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 + uses: github/codeql-action/upload-sarif@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8 with: sarif_file: results.sarif From e9ab45f0f4d7240937d5f88055f6c217da80f0d4 Mon Sep 17 00:00:00 2001 From: Gerd Heber Date: Tue, 4 Feb 2025 14:45:01 -0600 Subject: [PATCH 2/3] Updates/2025 02 04 (#5289) --- .devcontainer/Dockerfile | 2 +- .devcontainer/devcontainer.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 77f384fd26f..65317d8e94e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ FROM mcr.microsoft.com/devcontainers/base:debian RUN apt-get update && apt-get -y install --no-install-recommends \ - build-essential cmake cmake-curses-gui doxygen git graphviz \ + build-essential cmake cmake-curses-gui default-jdk doxygen gfortran git graphviz \ less libtool-bin libyajl-dev mpi-default-dev ninja-build valgrind wget diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5e78e038a21..536cdc01cd9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,6 +10,7 @@ "ms-python.python", "ms-toolsai.jupyter", "ms-vscode.cpptools", + "ms-vscode.cpptools-extension-pack", "ms-vscode.live-server", "ms-vscode-remote.remote-containers", "ms-azuretools.vscode-docker", From 354994a91acc5bfd41d5f2519514261615be8d5d Mon Sep 17 00:00:00 2001 From: jhendersonHDF Date: Wed, 5 Feb 2025 14:27:11 -0600 Subject: [PATCH 3/3] Minor adjustments to usage of alarm(2) timer in tests (#5292) Make alarm(2) timer per-test program rather than per-subtest Avoid enabling alarm(2) timer when TestExpress is set to 0 --- test/h5test.h | 2 +- test/testframe.c | 62 ++++++++++++++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/test/h5test.h b/test/h5test.h index e654f82d01f..899fe3c3e96 100644 --- a/test/h5test.h +++ b/test/h5test.h @@ -204,7 +204,7 @@ H5TEST_DLLVAR MPI_Info h5_io_info_g; /* MPI INFO object for IO */ /* Macros for the different TestExpress levels for expediting tests */ #define H5_TEST_EXPRESS_EXHAUSTIVE 0 /** Exhaustive run; tests should take as long as necessary */ -#define H5_TEST_EXPRESS_FULL 1 /** Full run; tests should take no more than 30 minutes */ +#define H5_TEST_EXPRESS_FULL 1 /** Full run; tests should take no more than 20 minutes */ #define H5_TEST_EXPRESS_QUICK 2 /** Quick run; tests should take no more than 10 minutes */ #define H5_TEST_EXPRESS_SMOKE_TEST 3 /** Smoke test; tests should take no more than 1 minute */ diff --git a/test/testframe.c b/test/testframe.c index e4beda0d6c1..edc39b98c05 100644 --- a/test/testframe.c +++ b/test/testframe.c @@ -158,6 +158,12 @@ TestInit(const char *ProgName, void (*TestPrivateUsage)(FILE *stream), /* Initialize value for TestExpress functionality */ h5_get_testexpress(); + /* Enable alarm timer for test program once TestExpress setting + * has been determined + */ + if (TestAlarmOn() < 0) + MESSAGE(5, ("Couldn't enable test alarm timer\n")); + /* Record the program name and private routines if provided. */ TestProgName = ProgName; if (NULL != TestPrivateUsage) @@ -461,10 +467,6 @@ PerformTests(void) MESSAGE(2, ("Testing -- %s (%s) \n", TestArray[Loop].Description, TestArray[Loop].Name)); MESSAGE(5, ("===============================================\n")); - if (TestAlarmOn() < 0) - MESSAGE(5, ("Couldn't enable test alarm timer for test -- %s (%s) \n", - TestArray[Loop].Description, TestArray[Loop].Name)); - if (TestArray[Loop].TestSetupFunc) TestArray[Loop].TestSetupFunc(TestArray[Loop].TestParameters); @@ -473,8 +475,6 @@ PerformTests(void) if (TestArray[Loop].TestCleanupFunc) TestArray[Loop].TestCleanupFunc(TestArray[Loop].TestParameters); - TestAlarmOff(); - TestArray[Loop].TestNumErrors = TestNumErrs_g - old_num_errs; MESSAGE(5, ("===============================================\n")); @@ -573,6 +573,8 @@ TestShutdown(void) free(TestArray); + TestAlarmOff(); + return SUCCEED; } @@ -829,30 +831,38 @@ SetTestMaxNumThreads(int max_num_threads) herr_t TestAlarmOn(void) { + /* A TestExpress setting of H5_TEST_EXPRESS_EXHAUSTIVE should allow + * tests to run for as long as necessary, so avoid enabling an + * alarm-style timer here that would, by default, kill the test. + */ + if (GetTestExpress() == H5_TEST_EXPRESS_EXHAUSTIVE) + return SUCCEED; #ifdef H5_HAVE_ALARM - char *env_val = getenv("HDF5_ALARM_SECONDS"); /* Alarm environment */ - unsigned long alarm_sec = H5_ALARM_SEC; /* Number of seconds before alarm goes off */ + else { + char *env_val = getenv("HDF5_ALARM_SECONDS"); /* Alarm environment */ + unsigned long alarm_sec = H5_ALARM_SEC; /* Number of seconds before alarm goes off */ - /* Get the alarm value from the environment variable, if set */ - if (env_val != NULL) { - errno = 0; - alarm_sec = strtoul(env_val, NULL, 10); - if (errno != 0) { - if (TestFrameworkProcessID_g == 0) - fprintf(stderr, "%s: error while parsing value (%s) specified for alarm timeout\n", __func__, - env_val); - return FAIL; - } - else if (alarm_sec > (unsigned long)UINT_MAX) { - if (TestFrameworkProcessID_g == 0) - fprintf(stderr, "%s: value (%lu) specified for alarm timeout too large\n", __func__, - alarm_sec); - return FAIL; + /* Get the alarm value from the environment variable, if set */ + if (env_val != NULL) { + errno = 0; + alarm_sec = strtoul(env_val, NULL, 10); + if (errno != 0) { + if (TestFrameworkProcessID_g == 0) + fprintf(stderr, "%s: error while parsing value (%s) specified for alarm timeout\n", + __func__, env_val); + return FAIL; + } + else if (alarm_sec > (unsigned long)UINT_MAX) { + if (TestFrameworkProcessID_g == 0) + fprintf(stderr, "%s: value (%lu) specified for alarm timeout too large\n", __func__, + alarm_sec); + return FAIL; + } } - } - /* Set the number of seconds before alarm goes off */ - alarm((unsigned)alarm_sec); + /* Set the number of seconds before alarm goes off */ + alarm((unsigned)alarm_sec); + } #endif return SUCCEED;