@@ -40,10 +40,12 @@ jobs:
4040
4141 - name : Convert hdf5 reference name (Linux)
4242 id : convert-hdf5lib-refname
43+ env :
44+ FILE_REF : ${{ inputs.file_ref }}
4345 run : |
44- FILE_DOTS=$(echo "${{ inputs.file_ref }} " | sed -r "s/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+).*/\1\.\2\.\3-\4/")
46+ FILE_DOTS=$(echo "$FILE_REF " | sed -r "s/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+).*/\1\.\2\.\3-\4/")
4547 echo "HDF5R_DOTS=$FILE_DOTS" >> $GITHUB_OUTPUT
46- FILE_DOTSMAIN=$(echo "${{ inputs.file_ref }} " | sed -r "s/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1\.\2\.\3/")
48+ FILE_DOTSMAIN=$(echo "$FILE_REF " | sed -r "s/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1\.\2\.\3/")
4749 echo "HDF5R_DOTSMAIN=$FILE_DOTSMAIN" >> $GITHUB_OUTPUT
4850
4951 - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
5961 ls -l ${{ github.workspace }}
6062
6163 - name : Uncompress gh binary (Linux)
62- run : tar -zxvf ${{ github.workspace }}/${{ inputs.file_base }}-ubuntu-2404_gcc.tar.gz
64+ env :
65+ FILE_BASE : ${{ inputs.file_base }}
66+ run : tar -zxvf ${{ github.workspace }}/$FILE_BASE-ubuntu-2404_gcc.tar.gz
6367
6468 - name : Uncompress hdf5 binary (Linux)
6569 run : |
@@ -81,20 +85,25 @@ jobs:
8185 echo "HDF5_VERS=$FILE_VERS" >> $GITHUB_OUTPUT
8286
8387 - name : Download reference version
88+ env :
89+ FILE_REF : ${{ inputs.file_ref }}
90+ CONVERT_HDF5LIB_REFNAME_HDF5R_DOTS : ${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}
8491 run : |
8592 mkdir "${{ github.workspace }}/hdf5R"
8693 cd "${{ github.workspace }}/hdf5R"
87- wget -q https://github.com/HDFGroup/hdf5/releases/download/${{ inputs.file_ref }} /hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }} -ubuntu-2404_gcc.tar.gz
88- tar zxf hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }} -ubuntu-2404_gcc.tar.gz
94+ wget -q https://github.com/HDFGroup/hdf5/releases/download/$FILE_REF /hdf5-$CONVERT_HDF5LIB_REFNAME_HDF5R_DOTS -ubuntu-2404_gcc.tar.gz
95+ tar zxf hdf5-$CONVERT_HDF5LIB_REFNAME_HDF5R_DOTS -ubuntu-2404_gcc.tar.gz
8996
9097 - name : List files for the space (Linux)
9198 run : |
9299 ls -l ${{ github.workspace }}/hdf5R
93100
94101 - name : Uncompress hdf5 reference binary (Linux)
102+ env :
103+ FILE_REF : ${{ inputs.file_ref }}
95104 run : |
96105 cd "${{ github.workspace }}/hdf5R"
97- tar -zxvf ${{ github.workspace }}/hdf5R/hdf5/HDF5-${{ inputs.file_ref }} -Linux.tar.gz --strip-components 1
106+ tar -zxvf ${{ github.workspace }}/hdf5R/hdf5/HDF5-$FILE_REF -Linux.tar.gz --strip-components 1
98107
99108 - name : List files for the HDFR space (Linux)
100109 run : |
@@ -110,54 +119,82 @@ jobs:
110119 echo "HDF5R_VERS=$FILE_NAME_HDF5R" >> $GITHUB_OUTPUT
111120
112121 - name : List files for the lib spaces (Linux)
122+ env :
123+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
124+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
113125 run : |
114- ls -l ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }} /lib
115- ls -l ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }} /lib
126+ ls -l $SET_HDF5LIB_NAME_HDF5_ROOT /lib
127+ ls -l $SET_HDF5LIB_REFNAME_HDF5R_ROOT /lib
116128
117129 - name : Run Java API report
130+ env :
131+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
132+ CONVERT_HDF5LIB_REFNAME_HDF5R_DOTSMAIN : ${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTSMAIN }}
133+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
134+ SET_HDF5LIB_NAME_HDF5_VERS : ${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }}
118135 run : |
119- japi-compliance-checker ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }} /lib/jarhdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTSMAIN }}. jar ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }} /lib/jarhdf5-${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }} .jar
136+ japi-compliance-checker $SET_HDF5LIB_REFNAME_HDF5R_ROOT /lib/jarhdf5-$CONVERT_HDF5LIB_REFNAME_HDF5R_DOTSMAIN. jar $SET_HDF5LIB_NAME_HDF5_ROOT /lib/jarhdf5-$SET_HDF5LIB_NAME_HDF5_VERS .jar
120137 continue-on-error : true
121138
122139 - name : Run ABI report
123- run : |
124- 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
125- 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
126- abi-compliance-checker -l ${{ inputs.file_base }} -old ABI-0.dump -new ABI-1.dump
140+ env :
141+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
142+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
143+ FILE_BASE : ${{ inputs.file_base }}
144+ run : |
145+ abi-dumper $SET_HDF5LIB_REFNAME_HDF5R_ROOT/lib/libhdf5.so -o ABI-0.dump -public-headers $SET_HDF5LIB_REFNAME_HDF5R_ROOT/include
146+ abi-dumper $SET_HDF5LIB_NAME_HDF5_ROOT/lib/libhdf5.so -o ABI-1.dump -public-headers $SET_HDF5LIB_NAME_HDF5_ROOT/include
147+ abi-compliance-checker -l $FILE_BASE -old ABI-0.dump -new ABI-1.dump
127148 continue-on-error : true
128149
129150 - name : Run hl ABI report
130- run : |
131- 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
132- 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
133- abi-compliance-checker -l ${{ inputs.file_base }}_hl -old ABI-2.dump -new ABI-3.dump
151+ env :
152+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
153+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
154+ FILE_BASE : ${{ inputs.file_base }}
155+ run : |
156+ abi-dumper $SET_HDF5LIB_REFNAME_HDF5R_ROOT/lib/libhdf5_hl.so -o ABI-2.dump -public-headers $SET_HDF5LIB_REFNAME_HDF5R_ROOT/include
157+ abi-dumper $SET_HDF5LIB_NAME_HDF5_ROOT/lib/libhdf5_hl.so -o ABI-3.dump -public-headers $SET_HDF5LIB_NAME_HDF5_ROOT/include
158+ abi-compliance-checker -l ${FILE_BASE}_hl -old ABI-2.dump -new ABI-3.dump
134159 continue-on-error : true
135160
136161 - name : Run cpp ABI report
137- run : |
138- 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
139- 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
140- abi-compliance-checker -l ${{ inputs.file_base }}_cpp -old ABI-4.dump -new ABI-5.dump
162+ env :
163+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
164+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
165+ FILE_BASE : ${{ inputs.file_base }}
166+ run : |
167+ abi-dumper $SET_HDF5LIB_REFNAME_HDF5R_ROOT/lib/libhdf5_cpp.so -o ABI-4.dump -public-headers $SET_HDF5LIB_REFNAME_HDF5R_ROOT/include
168+ abi-dumper $SET_HDF5LIB_NAME_HDF5_ROOT/lib/libhdf5_cpp.so -o ABI-5.dump -public-headers $SET_HDF5LIB_NAME_HDF5_ROOT/include
169+ abi-compliance-checker -l ${FILE_BASE}_cpp -old ABI-4.dump -new ABI-5.dump
141170 continue-on-error : true
142171
143172 - name : Run hl_cpp ABI report
144- run : |
145- 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
146- 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
147- abi-compliance-checker -l ${{ inputs.file_base }}_hl_cpp -old ABI-6.dump -new ABI-7.dump
173+ env :
174+ SET_HDF5LIB_REFNAME_HDF5R_ROOT : ${{ steps.set-hdf5lib-refname.outputs.HDF5R_ROOT }}
175+ SET_HDF5LIB_NAME_HDF5_ROOT : ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}
176+ FILE_BASE : ${{ inputs.file_base }}
177+ run : |
178+ abi-dumper $SET_HDF5LIB_REFNAME_HDF5R_ROOT/lib/libhdf5_hl_cpp.so -o ABI-6.dump -public-headers $SET_HDF5LIB_REFNAME_HDF5R_ROOT/include
179+ abi-dumper $SET_HDF5LIB_NAME_HDF5_ROOT/lib/libhdf5_hl_cpp.so -o ABI-7.dump -public-headers $SET_HDF5LIB_NAME_HDF5_ROOT/include
180+ abi-compliance-checker -l ${FILE_BASE}_hl_cpp -old ABI-6.dump -new ABI-7.dump
148181 continue-on-error : true
149182
150183 - name : Copy ABI reports
151- run : |
152- cp compat_reports/jarhdf5-/${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTSMAIN }}_to_${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }}/compat_report.html ${{ inputs.file_base }}-java_compat_report.html
153- ls -l compat_reports/${{ inputs.file_base }}/X_to_Y
154- cp compat_reports/${{ inputs.file_base }}/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_compat_report.html
155- ls -l compat_reports/${{ inputs.file_base }}_hl/X_to_Y
156- cp compat_reports/${{ inputs.file_base }}_hl/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_hl_compat_report.html
157- ls -l compat_reports/${{ inputs.file_base }}_cpp/X_to_Y
158- cp compat_reports/${{ inputs.file_base }}_cpp/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_cpp_compat_report.html
159- ls -l compat_reports/${{ inputs.file_base }}_hl_cpp/X_to_Y
160- cp compat_reports/${{ inputs.file_base }}_hl_cpp/X_to_Y/compat_report.html ${{ inputs.file_base }}-hdf5_hl_cpp_compat_report.html
184+ env :
185+ CONVERT_HDF5LIB_REFNAME_HDF5R_DOTSMAIN : ${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTSMAIN }}
186+ SET_HDF5LIB_NAME_HDF5_VERS : ${{ steps.set-hdf5lib-name.outputs.HDF5_VERS }}
187+ FILE_BASE : ${{ inputs.file_base }}
188+ run : |
189+ cp compat_reports/jarhdf5-/${CONVERT_HDF5LIB_REFNAME_HDF5R_DOTSMAIN}_to_${SET_HDF5LIB_NAME_HDF5_VERS}/compat_report.html $FILE_BASE-java_compat_report.html
190+ ls -l compat_reports/$FILE_BASE/X_to_Y
191+ cp compat_reports/$FILE_BASE/X_to_Y/compat_report.html $FILE_BASE-hdf5_compat_report.html
192+ ls -l compat_reports/${FILE_BASE}_hl/X_to_Y
193+ cp compat_reports/${FILE_BASE}_hl/X_to_Y/compat_report.html $FILE_BASE-hdf5_hl_compat_report.html
194+ ls -l compat_reports/${FILE_BASE}_cpp/X_to_Y
195+ cp compat_reports/${FILE_BASE}_cpp/X_to_Y/compat_report.html $FILE_BASE-hdf5_cpp_compat_report.html
196+ ls -l compat_reports/${FILE_BASE}_hl_cpp/X_to_Y
197+ cp compat_reports/${FILE_BASE}_hl_cpp/X_to_Y/compat_report.html $FILE_BASE-hdf5_hl_cpp_compat_report.html
161198 continue-on-error : true
162199
163200 - name : List files for the report spaces (Linux)
@@ -167,15 +204,17 @@ jobs:
167204
168205 - name : Publish ABI reports
169206 id : publish-abi-reports
207+ env :
208+ FILE_BASE : ${{ inputs.file_base }}
170209 run : |
171210 mkdir "${{ runner.workspace }}/buildabi"
172211 mkdir "${{ runner.workspace }}/buildabi/hdf5"
173- cp ${{ inputs.file_base }} -hdf5_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
174- cp ${{ inputs.file_base }} -hdf5_hl_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
175- cp ${{ inputs.file_base }} -hdf5_cpp_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
176- cp ${{ inputs.file_base }} -java_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
212+ cp $FILE_BASE -hdf5_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
213+ cp $FILE_BASE -hdf5_hl_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
214+ cp $FILE_BASE -hdf5_cpp_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
215+ cp $FILE_BASE -java_compat_report.html ${{ runner.workspace }}/buildabi/hdf5
177216 cd "${{ runner.workspace }}/buildabi"
178- tar -zcvf ${{ inputs.file_base }} .html.abi.reports.tar.gz hdf5
217+ tar -zcvf $FILE_BASE .html.abi.reports.tar.gz hdf5
179218 shell : bash
180219
181220 - name : Save output as artifact
0 commit comments