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 since last sync to hdf5_1_14 #4019

Merged
merged 55 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
2ba069f
Update upload- artifact to match download version (#3929)
byrnHDF Jan 8, 2024
9da7898
Reorg and update options for doc and cmake config (#3934)
byrnHDF Jan 9, 2024
4f1e7dc
Add binary build for linux S3 (#3936)
byrnHDF Jan 9, 2024
69b4aa6
autogen.sh: check directly for libtoolize instead of libtool [as libt…
balay Jan 13, 2024
c9f56a3
Clean up Doxygen for szip functions and constants (#3943)
derobins Jan 18, 2024
0eb5d91
Replace off_t with HDoff_t internally (#3944)
derobins Jan 18, 2024
3fbe73e
Fix chid_t to hid_t (#3948)
glennsong09 Jan 20, 2024
1e2dd83
Fortran API work. (#3941)
brtnfld Jan 23, 2024
4298d03
Add the user test program in HDFFV-9174 for committed types. (#3937)
vchoi-hdfgroup Jan 23, 2024
bafe24b
Remove cached datatype conversion path table entries on file close (#…
jhendersonHDF Jan 23, 2024
6d10fa1
fixed BIND name (#3957)
brtnfld Jan 24, 2024
7e7ea3b
Change 'extensible' to 'fixed' in H5FA code (#3964)
derobins Jan 26, 2024
f65c774
RF: move codespell configuration into .codespellrc so could be used l…
yarikoptic Jan 26, 2024
6ec07ff
Add RELEASE.txt note for the fix for issue #1256 (#3955)
jhendersonHDF Jan 26, 2024
56d9be1
Fix doxygen errors (#3962)
byrnHDF Jan 29, 2024
30b0f89
Add API support for Fortran MPI_F08 module definitions. (#3959)
brtnfld Jan 29, 2024
ea73728
Added a GitHub Codespaces configuration. (#3966)
gheber Jan 30, 2024
c6a0abd
Fixed XL and gfortran errors (#3968)
brtnfld Jan 30, 2024
f57a0db
h5 compiler wrappers now pass all arguments passed to it to the compi…
brtnfld Jan 30, 2024
ec17e56
Add binary testing to CI testing (#3971)
byrnHDF Jan 31, 2024
c71196c
Replace 'T2' with ' ' to avoid failure to match expected output due t…
lrknox Jan 31, 2024
635df60
Clarify vlen string datatype message (#3950)
mattjala Jan 31, 2024
21a5449
append '-WF,' when passing C preprocessor directives to the xlf compi…
brtnfld Feb 1, 2024
1b9d27a
Create CITATION.cff (#3927)
senden9 Feb 1, 2024
bddae31
Add h5dump tests that require subfiling VFD (#3879)
hyoklee Feb 1, 2024
a78e968
Fixed spacing issues in example tests. (#3979)
brtnfld Feb 2, 2024
86487b4
corrected warning: implicit conversion changes signedness (#3982)
brtnfld Feb 2, 2024
d95829e
Skip mac bintest until more reliable (#3983)
byrnHDF Feb 2, 2024
865a484
Make platform specific test presets for windows and macs (#3988)
byrnHDF Feb 6, 2024
79073a6
chore: fix typo (#3989)
hyoklee Feb 6, 2024
cc168f5
Add a missing left parenthesis in RELEASE.txt. (#3990)
hyoklee Feb 6, 2024
9681fdc
Remove ADB signature from RELEASE.txt. (#3986)
hyoklee Feb 6, 2024
215df64
Bump the github-actions group with 6 updates (#3981)
dependabot[bot] Feb 6, 2024
fbe0c87
Sync API tests with vol-tests (#3940)
mattjala Feb 6, 2024
5153821
Fix for github issue #2414: segfault when copying dataset with attrib…
vchoi-hdfgroup Feb 6, 2024
3cd2b67
Fix broken links caused by examples relocation. (#3995)
hyoklee Feb 8, 2024
fed6e09
Add abi-complience check and upload to releases (#3996)
byrnHDF Feb 8, 2024
7e47f89
Fix h5watch test failures to ignore system warnings on ppc64le. (#3997)
lrknox Feb 8, 2024
b63a9fe
Remove oneapi/clang compiler printf() type warning. (#3994)
hyoklee Feb 8, 2024
cabdaed
Updated information about obtaining the HDF5 source code to use the r…
bmribler Feb 8, 2024
6278d29
Fix overwritten preset names (#4000)
byrnHDF Feb 9, 2024
8a17cc2
Fix incompatible pointer type warnings in object reference examples (…
jhendersonHDF Feb 9, 2024
f888fd5
Fix build issue and some warnings in H5_api_dataset_test.c (#3998)
jhendersonHDF Feb 9, 2024
6331dda
Modern C++ dtor declarations (#1830)
seanm Feb 9, 2024
ed6a66d
remove incorrect check for environ (#4002)
byrnHDF Feb 9, 2024
b857404
Add a missing file into Makefile.am for MinGW Autotools build error. …
hyoklee Feb 13, 2024
4aeaa9c
Issue #1824: Replaced most remaining sprintf with safer snprint (#4003)
seanm Feb 13, 2024
db45d89
Add hl and cpp ABI reports to daily build (#4006)
byrnHDF Feb 13, 2024
ca78940
Don't add files and directories with names that begin with ., or that…
lrknox Feb 13, 2024
1ac9bd3
Fix some output issues with ph5diff (#4008)
jhendersonHDF Feb 13, 2024
8837ed7
Update install texts (#4010)
glennsong09 Feb 14, 2024
e47f36d
Add C in project line for CMake to fix #4012. (#4014)
hyoklee Feb 14, 2024
5bfb5ab
separate out individual checks for string removal (#4015)
byrnHDF Feb 14, 2024
4fff36f
Add compound subset ops on attributes to API tests (#4005)
mattjala Feb 14, 2024
424cb6e
Update 5 workflow .yml files for 1.14.
lrknox Feb 15, 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
6 changes: 6 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
skip = .git,*.svg,.codespellrc,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html,./HDF5Examples/depcomp
check-hidden = true
# ignore-regex =
ignore-words-list = ot,isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn't,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,ake,gord,numer,ro,oce,msdos
5 changes: 5 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +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 \
less libtool-bin libyajl-dev mpi-default-dev valgrind wget
26 changes: 26 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "HDF5 Developer",
"build": {
"context": "..",
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-toolsai.jupyter",
"ms-vscode.cpptools",
"ms-vscode.live-server",
"ms-vscode-remote.remote-containers",
"ms-azuretools.vscode-docker",
"h5web.vscode-h5web",
"davidanson.vscode-markdownlint"
],
"settings": {
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.cStandard": "c99",
"terminal.integrated.shell.linux": "/bin/bash"
}
}
}
}
3 changes: 3 additions & 0 deletions .devcontainer/noop.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This file is copied into the container along with environment.yml* from the
parent folder. This file prevents the Dockerfile COPY instruction from failing
if no environment.yml is found.
171 changes: 171 additions & 0 deletions .github/workflows/abi-report.yml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need fixed for 1.14

Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
name: hdf5 1.14 Check Application Binary Interface (ABI)

on:
workflow_call:
inputs:
use_tag:
description: 'Release version tag'
type: string
required: false
default: snapshot
use_environ:
description: 'Environment to locate files'
type: string
required: true
default: snapshots
file_base:
description: "The common base name of the binary"
required: true
type: string
file_ref:
description: "The reference name for the release binary"
required: true
type: string

permissions:
contents: read

jobs:
check:
runs-on: ubuntu-latest
continue-on-error: true

steps:
- name: Install System dependencies
run: |
sudo apt update
sudo apt install -q -y abi-compliance-checker abi-dumper
sudo apt install -q -y japi-compliance-checker

- name: Convert hdf5 reference name (Linux)
id: convert-hdf5lib-refname
run: |
FILE_DOTS=$(echo "${{ inputs.file_ref }}" | sed -r "s/([0-9]+)\_([0-9]+)\_([0-9]+).*/\1\.\2\.\3/")
echo "HDF5R_DOTS=$FILE_DOTS" >> $GITHUB_OUTPUT

- uses: actions/checkout@v4.1.1

- name: Get published binary (Linux)
uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-ubuntu-2204_gcc-binary
path: ${{ github.workspace }}

- name: List files for the space (Linux)
run: |
ls -l ${{ github.workspace }}

- name: Uncompress gh binary (Linux)
run: tar -zxvf ${{ github.workspace }}/${{ inputs.file_base }}-ubuntu-2204_gcc.tar.gz

- name: Uncompress hdf5 binary (Linux)
run: |
cd "${{ github.workspace }}/hdf5"
tar -zxvf ${{ github.workspace }}/hdf5/HDF5-*-Linux.tar.gz --strip-components 1

- name: List files for the HDF space (Linux)
run: |
ls -l ${{ github.workspace }}/hdf5
ls -l ${{ github.workspace }}/hdf5/HDF_Group/HDF5

- name: set hdf5lib name
id: set-hdf5lib-name
run: |
HDF5DIR=${{ github.workspace }}/hdf5/HDF_Group/HDF5/
FILE_NAME_HDF5=$(ls ${{ github.workspace }}/hdf5/HDF_Group/HDF5)
FILE_VERS=$(echo "$FILE_NAME_HDF5" | sed -r "s/([0-9]+\.[0-9]+\.[0-9]+)\..*/\1/")
echo "HDF5_ROOT=$HDF5DIR$FILE_NAME_HDF5" >> $GITHUB_OUTPUT
echo "HDF5_VERS=$FILE_VERS" >> $GITHUB_OUTPUT

- name: Download reference version
run: |
mkdir "${{ github.workspace }}/hdf5R"
cd "${{ github.workspace }}/hdf5R"
wget -q https://github.com/HDFGroup/hdf5/releases/download/hdf5-${{ inputs.file_ref }}/hdf5-${{ inputs.file_ref }}-ubuntu-2204.tar.gz
tar zxf hdf5-${{ inputs.file_ref }}-ubuntu-2204.tar.gz

- name: List files for the space (Linux)
run: |
ls -l ${{ github.workspace }}/hdf5R

- name: Uncompress hdf5 reference binary (Linux)
run: |
cd "${{ github.workspace }}/hdf5R"
tar -zxvf ${{ github.workspace }}/hdf5R/hdf5/HDF5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}-Linux.tar.gz --strip-components 1

- name: List files for the HDFR space (Linux)
run: |
ls -l ${{ github.workspace }}/hdf5R
ls -l ${{ github.workspace }}/hdf5R/HDF_Group/HDF5

- name: set hdf5lib reference name
id: set-hdf5lib-refname
run: |
HDF5RDIR=${{ github.workspace }}/hdf5R/HDF_Group/HDF5/
FILE_NAME_HDF5R=$(ls ${{ github.workspace }}/hdf5R/HDF_Group/HDF5)
echo "HDF5R_ROOT=$HDF5RDIR$FILE_NAME_HDF5R" >> $GITHUB_OUTPUT
echo "HDF5R_VERS=$FILE_NAME_HDF5R" >> $GITHUB_OUTPUT

- name: List files for the lib spaces (Linux)
run: |
ls -l ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib
ls -l ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib

- name: Run Java API report
run: |
japi-compliance-checker ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib/jarhdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}.jar ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib/jarhdf5-${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }}.jar

- name: Run ABI report
run: |
abi-dumper ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib/libhdf5.so -o ABI-0.dump -public-headers ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/include
abi-dumper ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib/libhdf5.so -o ABI-1.dump -public-headers ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/include
abi-compliance-checker -l ${{ inputs.file_base }} -old ABI-0.dump -new ABI-1.dump
continue-on-error: true

- name: Run hl ABI report
run: |
abi-dumper ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib/libhdf5_hl.so -o ABI-2.dump -public-headers ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/include
abi-dumper ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib/libhdf5_hl.so -o ABI-3.dump -public-headers ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/include
abi-compliance-checker -l ${{ inputs.file_base }}_hl -old ABI-2.dump -new ABI-3.dump
continue-on-error: true

- name: Run cpp ABI report
run: |
abi-dumper ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib/libhdf5_cpp.so -o ABI-4.dump -public-headers ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/include
abi-dumper ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib/libhdf5_cpp.so -o ABI-5.dump -public-headers ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/include
abi-compliance-checker -l ${{ inputs.file_base }}_cpp -old ABI-4.dump -new ABI-5.dump
continue-on-error: true

- name: Run hl_cpp ABI report
run: |
abi-dumper ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/lib/libhdf5_hl_cpp.so -o ABI-6.dump -public-headers ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}/include
abi-dumper ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/lib/libhdf5_hl_cpp.so -o ABI-7.dump -public-headers ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/include
abi-compliance-checker -l ${{ inputs.file_base }}_hl_cpp -old ABI-6.dump -new ABI-7.dump
continue-on-error: true

- name: Copy ABI reports
run: |
cp compat_reports/jarhdf5-/${{ steps.set-hdf5lib-refname.outputs.HDF5R_VERS }}_to_${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }}/compat_report.html ${{ inputs.file_base }}-java_compat_report.html
ls -l compat_reports/${{ inputs.file_base }}/X_to_Y
cp compat_reports/${{ inputs.file_base }}/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_compat_report.html
ls -l compat_reports/${{ inputs.file_base }}_hl/X_to_Y
cp compat_reports/${{ inputs.file_base }}_hl/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_hl_compat_report.html
ls -l compat_reports/${{ inputs.file_base }}_cpp/X_to_Y
cp compat_reports/${{ inputs.file_base }}_cpp/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_cpp_compat_report.html
# ls -l compat_reports/${{ inputs.file_base }}_hl_cpp/X_to_Y
# cp compat_reports/${{ inputs.file_base }}_hl_cpp/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_hl_cpp_compat_report.html

- name: List files for the report spaces (Linux)
run: |
ls -l compat_reports
ls -l *.html

- name: Save output as artifact
uses: actions/upload-artifact@v4
with:
name: abi-reports
path: |
${{ inputs.file_base }}-hdf5_compat_report.html
${{ inputs.file_base }}-hdf5_hl_compat_report.html
${{ inputs.file_base }}-hdf5_cpp_compat_report.html
${{ inputs.file_base }}-java_compat_report.html
12 changes: 12 additions & 0 deletions .github/workflows/autotools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,19 @@ jobs:

call-parallel-special-autotools:
name: "Autotools Parallel Special Workflows"
uses: ./.github/workflows/main-auto-par-spc.yml

call-debug-parallel-autotools:
name: "Autotools Parallel Workflows"
uses: ./.github/workflows/main-auto-par.yml
with:
build_mode: "debug"

call-release-parallel-autotools:
name: "Autotools Parallel Workflows"
uses: ./.github/workflows/main-auto-par.yml
with:
build_mode: "production"

call-debug-thread-autotools:
name: "Autotools Debug Thread-Safety Workflows"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang-format-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
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@1bad3abcf0d6ec49a5857d124b0bfb52dc7bb081 # v9.1.3
- uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
with:
author_name: github-actions
author_email: 41898282+github-actions[bot]@users.noreply.github.com
Expand Down
Loading
Loading