Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync develop changes 8/27 - 9/11 to hdf5_1_14. #4822

Merged
merged 34 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8d0b986
Remove dummy comments that repeat function names. (#4775)
hyoklee Aug 27, 2024
d8f263c
Fix grammar in H5Odtype.c comment block (#4777)
hyoklee Aug 27, 2024
50126b0
Add subfiling checks to the gcc action (#4776)
derobins Aug 27, 2024
1ca16ab
Replace non-VOL calls with VOL calls - part 3 (#4771)
bmribler Aug 27, 2024
683634a
Add subfiling to CI more places where we test parallel (#4778)
derobins Aug 28, 2024
eeba854
Convert Collective Calls html file to doxygen (#4779)
byrnHDF Aug 28, 2024
5a231bf
Fix grammar in H5Fint.c comment block (#4782)
hyoklee Aug 29, 2024
bbba2e3
Improve the consistency of configure help messages (#4783)
hyoklee Aug 29, 2024
a063c50
Fixes Fortran parallel build race condition for tests (#4789)
brtnfld Aug 29, 2024
8a8239a
Update URL documentation links to support site (#4781)
byrnHDF Aug 29, 2024
7fac32e
Fix grammar and simplify comment in H5Fint.c (#4790)
hyoklee Aug 30, 2024
dd424ce
Fix char-subscripts warnings in H5private.h (#4793)
hyoklee Aug 30, 2024
4d7e71d
Bump the github-actions group with 3 updates (#4798)
dependabot[bot] Sep 3, 2024
3de181a
Fix typo argueably in H5Cprivate.h (#4795)
hyoklee Sep 3, 2024
dca8fe0
Fix typos in H5Cpkg.h (#4796)
hyoklee Sep 3, 2024
b4a4a9b
Add bounds checking to avoid Out-of-bounds Write for gif2h5 (#4786)
wswsmao Sep 3, 2024
83741e8
Replace non-VOL calls with VOL calls - part 5 (#4788)
bmribler Sep 3, 2024
f9dce82
Correct the URL paths (#4802)
byrnHDF Sep 4, 2024
6264832
Fix a few issues with error reporting during sec2 reads/writes (#4794)
jhendersonHDF Sep 4, 2024
59bda2b
Update windows and apple signing process (#4806)
byrnHDF Sep 5, 2024
7366cb1
Use latest clang format action (#4807)
byrnHDF Sep 5, 2024
0986069
Correct path to document (#4808)
byrnHDF Sep 5, 2024
7b2a8c1
Detect invalid ID to H5Gmove2 (#4765)
bmribler Sep 6, 2024
fd6b6e7
Fix use of public API calls (#4809)
qkoziol Sep 6, 2024
a086954
Remove call to H5E_clear_stack() (#4810)
qkoziol Sep 6, 2024
62f00ca
Enable win Intel signing (#4812)
byrnHDF Sep 6, 2024
8615b3a
Remove unneeded file name part (#4814)
byrnHDF Sep 7, 2024
83f6152
Update NVHPC optimization settings (#4815)
derobins Sep 7, 2024
a309975
Add mirror VFD to serial -Werror CI action (#4753)
derobins Sep 7, 2024
dc6cf6f
Add THREADS check to configuration file (#4746)
byrnHDF Sep 8, 2024
26b32c3
Rework RFC url in aliases (#4813)
byrnHDF Sep 8, 2024
15763a9
Update config/cmake/hdf5-config.cmake.in
lrknox Sep 12, 2024
1480fda
Correct support branch name in URLs to source code.
lrknox Sep 12, 2024
78f5310
Merge branch 'sync_develop_changes_to_1_14' of https://github.com/lrk…
lrknox Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/aocc-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ jobs:
--enable-build-mode=${{ inputs.build_mode }} \
--enable-shared \
--enable-parallel \
--enable-subfiling-vfd \
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib \
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib"

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/aocc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_SUBFILING_VFD:BOOL=ON \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/clang-format-check.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
name: clang-format Check
on:
pull_request:

permissions:
contents: read

jobs:
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
steps:
- uses: actions/[email protected]

- name: Run clang-format style check for C and Java code
uses: DoozyX/clang-format-lint-action@v0.17
uses: DoozyX/clang-format-lint-action@v0.18.2
with:
source: '.'
extensions: 'c,h,cpp,hpp,java'
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/clang-format-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ name: clang-format Commit Changes
on:
workflow_dispatch:
push:

permissions:
contents: read

jobs:
formatting-check:
name: Commit Format Changes
Expand All @@ -21,16 +23,18 @@ jobs:
permissions:
contents: write # In order to allow EndBug/add-and-commit to commit changes
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/[email protected]

- name: Fix C and Java formatting issues detected by clang-format
uses: DoozyX/clang-format-lint-action@d3c7f85989e3b6416265a0d12f8b4a8aa8b0c4ff # v0.13
uses: DoozyX/clang-format-lint-action@v0.18.2
with:
source: '.'
extensions: 'c,h,cpp,hpp,java'
clangFormatVersion: 13
inplace: True
style: file
exclude: './config ./hl/src/H5LTanalyze.c ./hl/src/H5LTparse.c ./hl/src/H5LTparse.h ./src/H5Epubgen.h ./src/H5Einit.h ./src/H5Eterm.h ./src/H5Edefin.h ./src/H5version.h ./src/H5overflow.h'

- uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
with:
author_name: github-actions
Expand Down
172 changes: 165 additions & 7 deletions .github/workflows/cmake-ctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ on:
required: true
default: snapshots
secrets:
APPLE_CERTS_BASE64:
required: true
APPLE_CERTS_BASE64_PASSWD:
required: true
KEYCHAIN_PASSWD:
required: true
AZURE_TENANT_ID:
required: true
AZURE_CLIENT_ID:
Expand Down Expand Up @@ -53,13 +59,15 @@ jobs:
run: |
if [[ '${{ env.signing_secret }}' == '' ]]
then
SIGN_VAL=$(echo "false")
SIGN_VAL=$(echo 'notexists')
else
SIGN_VAL=$(echo "true")
SIGN_VAL=$(echo 'exists')
fi
echo "BINSIGN=$SIGN_VAL" >> $GITHUB_OUTPUT
shell: bash

- run: echo "signing is ${{ steps.set-signing-state.outputs.BINSIGN }}."

build_and_test_win:
# Windows w/ MSVC + CMake
#
Expand Down Expand Up @@ -114,7 +122,27 @@ jobs:
run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
shell: bash

- name: Install TrustedSigning (Windows)
run: |
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
shell: pwsh
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: create-json
id: create-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
dir: '${{ steps.set-file-base.outputs.SOURCE_BASE }}'
json: '{"Endpoint": "${{ secrets.AZURE_ENDPOINT }}","CodeSigningAccountName": "${{ secrets.AZURE_CODE_SIGNING_NAME }}","CertificateProfileName": "${{ secrets.AZURE_CERT_PROFILE_NAME }}"}'
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: Run ctest (Windows)
env:
BINSIGN: ${{ needs.check-secret.outputs.sign-state }}
SIGNTOOLDIR: ${{ github.workspace }}/Microsoft.Windows.SDK.BuildTools/bin/10.0.22621.0/x64
run: |
cd "${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}"
cmake --workflow --preset=${{ inputs.preset_name }}-MSVC --fresh
Expand All @@ -134,7 +162,7 @@ jobs:
file-digest: SHA256
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
if: ${{ needs.check-secret.outputs.sign-state == 'true' }}
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: Publish binary (Windows)
id: publish-ctest-binary
Expand Down Expand Up @@ -323,6 +351,28 @@ jobs:
with:
version: "1.9.7"

- name: Install the Apple certificate and provisioning profile
shell: bash
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }}
P12_PASSWORD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }}
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
run: |
# create variables
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
KEYCHAIN_FILE=${{ vars.KEYCHAIN_NAME }}.keychain
# import certificate from secrets
echo $BUILD_CERTIFICATE_BASE64 | base64 --decode > $CERTIFICATE_PATH
security -v create-keychain -p $KEYCHAIN_PASSWD $KEYCHAIN_FILE
security -v list-keychain -d user -s $KEYCHAIN_FILE
security -v list-keychains
security -v set-keychain-settings -lut 21600 $KEYCHAIN_FILE
security -v unlock-keychain -p $KEYCHAIN_PASSWD $KEYCHAIN_FILE
# import certificate to keychain
security -v import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_FILE
security -v set-key-partition-list -S apple-tool:,codesign:,apple: -k $KEYCHAIN_PASSWD $KEYCHAIN_FILE
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: Set up JDK 19
uses: actions/setup-java@v4
with:
Expand Down Expand Up @@ -367,11 +417,100 @@ jobs:

- name: Run ctest (MacOS_latest)
id: run-ctest
env:
BINSIGN: ${{ needs.check-secret.outputs.sign-state }}
SIGNER: ${{ vars.SIGNER }}
run: |
cd "${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}"
cmake --workflow --preset=${{ inputs.preset_name }}-MACOS-Clang --fresh
cmake --workflow --preset=${{ inputs.preset_name }}-macos-Clang --fresh
shell: bash

- name: Sign dmg (MacOS_latest)
id: sign-dmg
env:
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }}
SIGNER: ${{ vars.SIGNER }}
NOTARY_USER: ${{ vars.NOTARY_USER }}
NOTARY_KEY: ${{ vars.NOTARY_KEY }}
run: |
/usr/bin/codesign --force --timestamp --options runtime --entitlements ${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}/config/cmake/distribution.entitlements --verbose=4 --strict --sign ${{ env.SIGNER }} --deep ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-macos-Clang/*.dmg
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Check dmg timestamp (MacOS_latest)
run: |
/usr/bin/codesign -dvv ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-macos-Clang/*.dmg
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Verify dmg (MacOS_latest)
run: |
/usr/bin/hdiutil verify ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-macos-Clang/*.dmg
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Notarize dmg (MacOS_latest)
id: notarize-dmg
env:
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }}
SIGNER: ${{ vars.SIGNER }}
NOTARY_USER: ${{ vars.NOTARY_USER }}
NOTARY_KEY: ${{ vars.NOTARY_KEY }}
run: |
jsonout=$(/usr/bin/xcrun notarytool submit --wait --output-format json --apple-id ${{ env.NOTARY_USER }} --password ${{ env.NOTARY_KEY }} --team-id ${{ env.SIGNER }} ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-macos-Clang/*.dmg)
echo "JSONOUT=$jsonout" >> $GITHUB_OUTPUT
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Get ID token (MacOS_latest)
id: get-id-token
run: |
echo "notary result is ${{ fromJson(steps.notarize-dmg.outputs.JSONOUT) }}"
token=${{ fromJson(steps.notarize-dmg.outputs.JSONOUT).id }}
echo "ID_TOKEN=$token" >> "$GITHUB_OUTPUT"
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: post notary check (MacOS_latest)
id: post-notary
env:
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }}
SIGNER: ${{ vars.SIGNER }}
NOTARY_USER: ${{ vars.NOTARY_USER }}
NOTARY_KEY: ${{ vars.NOTARY_KEY }}
run: |
{
echo 'NOTARYOUT<<EOF'
/usr/bin/xcrun notarytool info --apple-id ${{ env.NOTARY_USER }} --password ${{ env.NOTARY_KEY }} --team-id ${{ env.SIGNER }} ${{ steps.get-id-token.outputs.ID_TOKEN }}
echo EOF
} >> $GITHUB_OUTPUT
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Get notary info (MacOS_latest)
id: get-notary-info
run: |
echo "notary info is ${{ steps.post-notary.outputs.NOTARYOUT }}."
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash

- name: Staple dmg (MacOS_latest)
id: staple-dmg
env:
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }}
SIGNER: ${{ vars.SIGNER }}
NOTARY_USER: ${{ vars.NOTARY_USER }}
NOTARY_KEY: ${{ vars.NOTARY_KEY }}
run: |
/usr/bin/xcrun stapler staple ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-macos-Clang/*.dmg
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}
shell: bash
continue-on-error: true

- name: Publish binary (MacOS_latest)
id: publish-ctest-binary
run: |
Expand All @@ -395,7 +534,7 @@ jobs:
cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Clang/README.md ${{ runner.workspace }}/builddmg/hdf5
cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Clang/*.dmg ${{ runner.workspace }}/builddmg/hdf5
cd "${{ runner.workspace }}/builddmg"
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.arm64.dmg.tar.gz hdf5
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.dmg.tar.gz hdf5
shell: bash

- name: List files in the space (MacOS_latest)
Expand All @@ -415,7 +554,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: tgz-macos14_clang-dmg-binary
path: ${{ runner.workspace }}/builddmg/${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.arm64.dmg.tar.gz
path: ${{ runner.workspace }}/builddmg/${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.dmg.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

build_and_test_S3_linux:
Expand Down Expand Up @@ -544,11 +683,30 @@ jobs:
run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
shell: bash

- name: Install TrustedSigning (Windows)
run: |
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
shell: pwsh
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: create-json
id: create-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
dir: '${{ steps.set-file-base.outputs.SOURCE_BASE }}'
json: '{"Endpoint": "${{ secrets.AZURE_ENDPOINT }}","CodeSigningAccountName": "${{ secrets.AZURE_CODE_SIGNING_NAME }}","CertificateProfileName": "${{ secrets.AZURE_CERT_PROFILE_NAME }}"}'
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: Run ctest (Windows_intel) with oneapi
env:
FC: ${{ steps.setup-fortran.outputs.fc }}
CC: ${{ steps.setup-fortran.outputs.cc }}
CXX: ${{ steps.setup-fortran.outputs.cxx }}
BINSIGN: ${{ needs.check-secret.outputs.sign-state }}
SIGNTOOLDIR: ${{ github.workspace }}/Microsoft.Windows.SDK.BuildTools/bin/10.0.22621.0/x64
run: |
cd "${{ runner.workspace }}/hdf5/${{ steps.set-file-base.outputs.SOURCE_BASE }}"
cmake --workflow --preset=${{ inputs.preset_name }}-win-Intel --fresh
Expand All @@ -568,7 +726,7 @@ jobs:
file-digest: SHA256
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
if: ${{ needs.check-secret.outputs.sign-state == 'true' }}
if: ${{ needs.check-secret.outputs.sign-state == 'exists' }}

- name: Publish binary (Windows_intel)
id: publish-ctest-binary
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/daily-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ jobs:
#use_tag: snapshot-1.14
use_environ: snapshots
secrets:
APPLE_CERTS_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }}
APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }}
KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/julia-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Get Sources
uses: actions/[email protected].1
uses: actions/[email protected].7

- name: Install Dependencies
shell: bash
Expand Down Expand Up @@ -60,7 +60,7 @@ jobs:
arch: 'x64'

- name: Get julia hdf5 source
uses: actions/[email protected].1
uses: actions/[email protected].7
with:
repository: JuliaIO/HDF5.jl
path: .
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/julia-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Get Sources
uses: actions/[email protected].1
uses: actions/[email protected].7

- name: Install Dependencies
shell: bash
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:
arch: 'x64'

- name: Get julia hdf5 source
uses: actions/[email protected].1
uses: actions/[email protected].7
with:
repository: JuliaIO/HDF5.jl
path: .
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/main-auto-par.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ jobs:
--with-default-api-version=v114 \
--enable-shared \
--enable-parallel \
--enable-subfiling-vfd \
--disable-cxx \
--enable-fortran \
--disable-java \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main-auto-spc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ jobs:
--enable-cxx \
--disable-fortran \
--enable-java \
--disable-mirror-vfd \
--enable-mirror-vfd \
--enable-direct-vfd \
--disable-ros3-vfd \
--with-szlib=yes
Expand Down Expand Up @@ -491,7 +491,7 @@ jobs:
--enable-cxx \
--disable-fortran \
--enable-java \
--disable-mirror-vfd \
--enable-mirror-vfd \
--enable-direct-vfd \
--disable-ros3-vfd \
--with-szlib=yes
Expand Down
Loading
Loading