diff --git a/.github/workflows/aocc-auto.yml b/.github/workflows/aocc-auto.yml index a0f40a0b9..6b6db7045 100644 --- a/.github/workflows/aocc-auto.yml +++ b/.github/workflows/aocc-auto.yml @@ -32,27 +32,23 @@ jobs: sudo apt install -y doxygen openssl libtool libtool-bin build-essential sudo apt install -y libncurses-dev libquadmath0 libstdc++6 libxml2 - - name: Install AOCC 4.1.0 + - name: Install AOCC 4.2.0 shell: bash run: | - wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar - tar -xvf aocc-compiler-4.1.0.tar - cd aocc-compiler-4.1.0 + wget https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0.tar + tar -xvf aocc-compiler-4.2.0.tar + cd aocc-compiler-4.2.0 bash install.sh source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh which clang which flang clang -v - echo "CC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/clang" >> $GITHUB_ENV - echo "FC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/flang" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "LD_RUN_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "DESTDIR=/tmp" >> $GITHUB_ENV - name: Autotools Configure shell: bash run: | - source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh + export LD_LIBRARY_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib + export LD_RUN_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib export PATH=/usr/local/bin:$PATH sh ./autogen.sh mkdir "${{ runner.workspace }}/build" @@ -62,7 +58,7 @@ jobs: --enable-netcdf \ --enable-shared \ --disable-fortran \ - LDFLAGS="-L/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib" + LDFLAGS="-L/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib" - name: Autotools Build shell: bash @@ -101,26 +97,23 @@ jobs: sudo apt update sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin build-essential libncurses-dev libquadmath0 libstdc++6 libxml2 - - name: Install AOCC 4.1.0 + - name: Install AOCC 4.2.0 + shell: bash run: | - wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar - tar -xvf aocc-compiler-4.1.0.tar - cd aocc-compiler-4.1.0 + wget https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0.tar + tar -xvf aocc-compiler-4.2.0.tar + cd aocc-compiler-4.2.0 bash install.sh source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh which clang which flang clang -v - echo "CC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/clang" >> $GITHUB_ENV - echo "FC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/flang" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "LD_RUN_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "DESTDIR=/tmp" >> $GITHUB_ENV - name: Autotools Configure shell: bash run: | - source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh + export LD_LIBRARY_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib + export LD_RUN_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib export PATH=/usr/local/bin:$PATH sh ./autogen.sh mkdir "${{ runner.workspace }}/build" @@ -130,7 +123,7 @@ jobs: --enable-netcdf \ --disable-shared \ --enable-fortran \ - LDFLAGS="-L/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib" + LDFLAGS="-L/home/runner/work/hdf4/hdf4/aocc-compiler-4.2.0/lib" - name: Autotools Build shell: bash diff --git a/.github/workflows/aocc-cmake.yml b/.github/workflows/aocc-cmake.yml index c9b20c701..7102cc48a 100644 --- a/.github/workflows/aocc-cmake.yml +++ b/.github/workflows/aocc-cmake.yml @@ -27,27 +27,23 @@ jobs: sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev sudo apt install -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential - - name: Install AOCC 4.1.0 + - name: Install AOCC 4.2.0 shell: bash run: | - wget https://download.amd.com/developer/eula/aocc/aocc-4-1/aocc-compiler-4.1.0.tar - tar -xvf aocc-compiler-4.1.0.tar - cd aocc-compiler-4.1.0 + wget https://download.amd.com/developer/eula/aocc/aocc-4-2/aocc-compiler-4.2.0.tar + tar -xvf aocc-compiler-4.2.0.tar + cd aocc-compiler-4.2.0 bash install.sh source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh which clang which flang clang -v - echo "CC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/clang" >> $GITHUB_ENV - echo "FC=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/bin/flang" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "LD_RUN_PATH=/home/runner/work/hdf4/hdf4/aocc-compiler-4.1.0/lib:/usr/local/lib" >> $GITHUB_ENV - echo "DESTDIR=/tmp" >> $GITHUB_ENV - name: CMake Configure shell: bash run: | - source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh + export LD_LIBRARY_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib + export LD_RUN_PATH=/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib:/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib:/usr/local/lib export PATH=/usr/local/bin:$PATH mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" @@ -65,15 +61,11 @@ jobs: - name: CMake Build shell: bash run: | - source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh - export PATH=/usr/local/bin:$PATH cmake --build . --parallel 3 --config ${{ inputs.build_mode }} working-directory: ${{ runner.workspace }}/build - name: CMake Run Tests shell: bash run: | - source /home/runner/work/hdf4/hdf4/setenv_AOCC.sh - export PATH=/usr/local/bin:$PATH ctest . --parallel 2 -C ${{ inputs.build_mode }} -V working-directory: ${{ runner.workspace }}/build diff --git a/.github/workflows/cmake-bintest.yml b/.github/workflows/cmake-bintest.yml index f46e342d1..84175d37e 100644 --- a/.github/workflows/cmake-bintest.yml +++ b/.github/workflows/cmake-bintest.yml @@ -159,7 +159,7 @@ jobs: - name: Get published binary (MacOS) uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 with: - name: tgz-osx12-${{ inputs.build_mode }}-binary + name: tgz-osx-${{ inputs.build_mode }}-binary path: ${{ github.workspace }} - name: Uncompress hdf4 binary (MacOS) diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 38acdfc36..f897ae6e5 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -303,7 +303,7 @@ jobs: cp ${{ runner.workspace }}/hdf4/build/${{ inputs.preset_name }}-Clang/README.txt ${{ runner.workspace }}/build/hdf4 cp ${{ runner.workspace }}/hdf4/build/${{ inputs.preset_name }}-Clang/*.tar.gz ${{ runner.workspace }}/build/hdf4 cd "${{ runner.workspace }}/build" - tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz hdf4 + tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz hdf4 shell: bash - name: List files in the space (MacOS) @@ -315,8 +315,8 @@ jobs: - name: Save published binary (MacOS) uses: actions/upload-artifact@v4 with: - name: tgz-osx12-binary - path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz + name: tgz-osx-binary + path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` ####### intel builds @@ -334,7 +334,7 @@ jobs: id: setup-fortran with: compiler: intel - version: '2023.2' + version: '2024.1' - name: Enable Developer Command Prompt uses: ilammy/msvc-dev-cmd@v1.13.0 @@ -382,7 +382,7 @@ jobs: CXX: ${{ steps.setup-fortran.outputs.cxx }} run: | cd "${{ runner.workspace }}/hdf4/${{ steps.set-file-base.outputs.SOURCE_BASE }}" - cmake --workflow --preset=${{ inputs.preset_name }}-Intel --fresh + cmake --workflow --preset=${{ inputs.preset_name }}-win-Intel --fresh shell: pwsh - name: Publish binary (Windows_intel) @@ -427,7 +427,7 @@ jobs: id: setup-fortran with: compiler: intel - version: '2023.2' + version: '2024.1' - name: Set file base name (Linux_intel) id: set-file-base diff --git a/.github/workflows/intel-cmake.yml b/.github/workflows/intel-cmake.yml index d8ce15bc8..050801bbe 100644 --- a/.github/workflows/intel-cmake.yml +++ b/.github/workflows/intel-cmake.yml @@ -31,7 +31,7 @@ jobs: id: setup-fortran with: compiler: intel - version: '2024.0' + version: '2024.1' - name: CMake Configure (Linux) shell: bash @@ -87,7 +87,7 @@ jobs: id: setup-fortran with: compiler: intel - version: '2024.0' + version: '2024.1' - name: CMake Configure (Windows) shell: pwsh diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml index 5bba19ced..ed97933cb 100644 --- a/.github/workflows/main-cmake.yml +++ b/.github/workflows/main-cmake.yml @@ -212,7 +212,7 @@ jobs: - name: Save published binary (Mac) uses: actions/upload-artifact@v4 with: - name: tgz-osx12-${{ inputs.build_mode }}-binary + name: tgz-osx-${{ inputs.build_mode }}-binary path: ${{ runner.workspace }}/build/HDF-*-Darwin.tar.gz if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` if: ${{ (matrix.os == 'macos-13') && (inputs.netcdf == 'true') && (inputs.shared == 'true') }} diff --git a/.github/workflows/netcdf.yml b/.github/workflows/netcdf.yml index 09a553826..a1f2c6f86 100644 --- a/.github/workflows/netcdf.yml +++ b/.github/workflows/netcdf.yml @@ -28,8 +28,10 @@ jobs: run: | sudo apt update sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin + - name: Checkout HDF4 uses: actions/checkout@v4.1.1 + - name: Install HDF4 run: | ./autogen.sh @@ -37,24 +39,12 @@ jobs: make -j sudo make install -j - - name: Checkout HDF5 - uses: actions/checkout@v4.1.1 - with: - repository: HDFGroup/hdf5 - path: hdf5 - - name: Install HDF5 - run: | - cd hdf5 - ./autogen.sh - ./configure --prefix=/usr/local --disable-tests --disable-static --enable-shared --enable-hl --with-szlib - make -j - sudo make install -j - - name: Checkout netCDF uses: actions/checkout@v4.1.1 with: repository: unidata/netcdf-c path: netcdf-c + - name: Test netCDF run: | cd netcdf-c diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index c37c2889b..74b7c21ea 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -43,15 +43,16 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 0 + ref: '${{ github.head_ref || github.ref_name }}' - uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 # v1.7.2 id: "tag_create" with: commit_sha: ${{ inputs.file_sha }} tag: "${{ inputs.use_tag }}" - force_push_tag: true + force_push_tag: false + tag_exists_error: false message: "Latest snapshot" - if: ${{ inputs.use_environ == 'snapshots' }} # Print result using the action output. - run: | @@ -102,7 +103,7 @@ jobs: - name: Get published binary (MacOS) uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 with: - name: tgz-osx12-binary + name: tgz-osx-binary path: ${{ github.workspace }} - name: Get published binary (Linux) @@ -141,12 +142,26 @@ jobs: name: abi-reports path: ${{ github.workspace }} + - name: Get published nonversioned source (tgz) + if: ${{ (inputs.use_environ == 'release') }} + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + with: + name: tgz-tarball-nover + path: ${{ github.workspace }} + + - name: Get published nonversioned source (zip) + if: ${{ (inputs.use_environ == 'release') }} + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + with: + name: zip-tarball-nover + path: ${{ github.workspace }} + - name: Create sha256 sums for files run: | sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip > ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt - sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt @@ -155,6 +170,12 @@ jobs: sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + - name: Create sha256 sums for files for nonversioned files + if: ${{ (inputs.use_environ == 'release') }} + run: | + sha256sum hdf.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum hdf.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + - name: Store snapshot name run: | echo "${{ steps.get-file-base.outputs.FILE_BASE }}" > ./last-file.txt @@ -172,7 +193,7 @@ jobs: - name: PreRelease tag id: create_prerelease if: ${{ (inputs.use_environ == 'snapshots') }} - uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2.0.4 + uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5 with: tag_name: "${{ inputs.use_tag }}" prerelease: true @@ -182,7 +203,7 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip - ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz @@ -196,7 +217,7 @@ jobs: - name: Release tag id: create_release if: ${{ (inputs.use_environ == 'release') }} - uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2.0.4 + uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5 with: tag_name: "${{ inputs.use_tag }}" prerelease: false @@ -205,7 +226,9 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip - ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz + hdf.tar.gz + hdf.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz diff --git a/.github/workflows/remove-files.yml b/.github/workflows/remove-files.yml index 4e1905fff..141109042 100644 --- a/.github/workflows/remove-files.yml +++ b/.github/workflows/remove-files.yml @@ -50,7 +50,7 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip - ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml index a4a55510f..3207bef72 100644 --- a/.github/workflows/tarball.yml +++ b/.github/workflows/tarball.yml @@ -90,6 +90,7 @@ jobs: uses: actions/checkout@v4.1.1 with: path: hdfsrc + ref: '${{needs.check_commits.outputs.branch_ref }}' - name: Install Autotools Dependencies (Linux, serial) run: | @@ -143,6 +144,14 @@ jobs: mv hdf-${{ steps.version.outputs.SOURCE_TAG }}.zip ${{ inputs.use_tag }}.zip shell: bash + - name: Copy the release file source to a non-versioned file name + id: cp-to-non-versioned + if: ${{ (inputs.use_environ == 'release') }} + run: | + cp ${{ inputs.use_tag }}.tar.gz hdf.tar.gz + cp ${{ inputs.use_tag }}.zip hdf.zip + shell: bash + - name: List files in the repository run: | ls -l ${{ github.workspace }} @@ -163,6 +172,22 @@ jobs: path: ${{ steps.set-file-base.outputs.FILE_BASE }}.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + - name: Save tgz-tarball-nover + if: ${{ (inputs.use_environ == 'release') }} + uses: actions/upload-artifact@v4 + with: + name: tgz-tarball-nover + path: hdf.tar.gz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Save zip-tarball-nover + if: ${{ (inputs.use_environ == 'release') }} + uses: actions/upload-artifact@v4 + with: + name: zip-tarball-nover + path: hdf.zip + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + - name: Save NEWSLETTER uses: actions/upload-artifact@v4 with: