diff --git a/.github/workflows/ant-app.yml b/.github/workflows/ant-app.yml new file mode 100644 index 00000000..71f37b1f --- /dev/null +++ b/.github/workflows/ant-app.yml @@ -0,0 +1,504 @@ +name: hdfview ci runs + +# Controls when the action will run. Triggers the workflow on a schedule +on: + workflow_call: + inputs: + use_hdf: + description: "The hdf4 base name of the binaries" + required: true + type: string + use_hdf5: + description: "The hdf5 base name of the binaries" + required: true + type: string + snap_name: + description: 'The version name of the binaries' + type: string + required: false + default: HDFView-99.99.99 + file_base: + description: "The common base name of the source tarballs" + required: true + type: string + use_environ: + description: 'Environment to locate files' + type: string + required: true + default: snapshots + secrets: + APPLE_CERTS_BASE64: + required: true + APPLE_CERTS_BASE64_PASSWD: + required: true + KEYCHAIN_PASSWD: + required: true + +permissions: + contents: read + +jobs: + build_and_test_win: + # Windows w/ MSVC + CMake + # + name: "Windows MSVC CTest" + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + + - name: Enable Developer Command Prompt + uses: ilammy/msvc-dev-cmd@v1.13.0 + + - name: Get hdf4 snapshot + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf4' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf }}-win-vs2022_cl.zip' + + - name: Uncompress gh binary (Win) + run: 7z x ${{ github.workspace }}/${{ inputs.use_hdf }}-win-vs2022_cl.zip + + - name: Uncompress hdf4 binary (Win) + working-directory: ${{ github.workspace }}/hdf4 + run: 7z x HDF-*-win64.zip + shell: bash + + - name: List files for the space (Win) + run: | + ls -l ${{ github.workspace }}/hdf4 + #ls ${{ runner.workspace }}/hdfview + + - name: create hdf4 location (Win) + working-directory: ${{ github.workspace }}/hdf4 + run: | + New-Item -Path "${{ github.workspace }}/HDF_Group/HDF" -ItemType Directory + Copy-Item -Path "${{ github.workspace }}/hdf4/HDF*/*" -Destination "${{ github.workspace }}/HDF_Group/HDF" -Recurse + shell: pwsh + + - name: List files for the space (Win) + run: ls -l ${{ github.workspace }}/HDF_Group/HDF + + - name: set hdflib name + id: set-hdflib-name + run: | + HDFDIR="${{ github.workspace }}/HDF_Group/HDF" + echo "HDFLIB_ENV=$HDFDIR" >> $GITHUB_OUTPUT + shell: bash + + - name: Get hdf5 snapshot + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf5' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf5 }}-win-vs2022_cl.zip' + + - name: Uncompress gh binary (Win) + run: 7z x ${{ github.workspace }}/${{ inputs.use_hdf5 }}-win-vs2022_cl.zip + + - name: Uncompress hdf5 binary (Win) + working-directory: ${{ github.workspace }}/hdf5 + run: 7z x HDF5-*-win64.zip + shell: bash + + - name: List files for the space (Win) + run: | + ls -l ${{ github.workspace }}/hdf5 + #ls ${{ runner.workspace }}/hdfview + + - name: create hdf5 location (Win) + working-directory: ${{ github.workspace }}/hdf5 + run: | + New-Item -Path "${{ github.workspace }}/HDF_Group/HDF5" -ItemType Directory + Copy-Item -Path "${{ github.workspace }}/hdf5/HDF*/*" -Destination "${{ github.workspace }}/HDF_Group/HDF5" -Recurse + shell: pwsh + + - name: List files for the space (Win) + run: ls -l ${{ github.workspace }}/HDF_Group/HDF5 + + - name: set hdf5lib name + id: set-hdf5lib-name + run: | + HDF5DIR="${{ github.workspace }}/HDF_Group/HDF5" + echo "HDF5LIB_ENV=$HDF5DIR" >> $GITHUB_OUTPUT + shell: bash + + - name: List files for the binaries (Win) + run: | + ls -l ${{ github.workspace }}/HDF_Group/HDF + ls -l ${{ github.workspace }}/HDF_Group/HDF5 + + - name: Set file base name (Windows) + id: set-file-base + run: | + FILE_NAME_BASE=$(echo "${{ inputs.file_base }}") + echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT + if [[ '${{ inputs.use_environ }}' == 'release' ]] + then + SOURCE_NAME_BASE=$(echo "${{ inputs.snap_name }}") + else + SOURCE_NAME_BASE=$(echo "hdfsrc") + fi + echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT + shell: bash + + # Get files created by release script + - name: Get zip-tarball (Windows) + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: zip-tarball + path: ${{ github.workspace }} + + - name: using powershell + shell: pwsh + run: Get-Location + + - name: List files for the space (Windows) + run: | + Get-ChildItem -Path ${{ github.workspace }} + Get-ChildItem -Path ${{ runner.workspace }} + shell: pwsh + + - name: Uncompress source (Windows) + working-directory: ${{ github.workspace }} + run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip + shell: bash + + - name: Build with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + run: | + ant -noinput -buildfile build.xml binaryAppPackage + shell: bash + + - name: Rename snapshot binary base name + id: ren-basename + if: ${{ (inputs.use_environ == 'snapshots') }} + run: | + cd build/dist + mv ${{ inputs.snap_name }}-win64.zip ${{ steps.set-file-base.outputs.FILE_BASE }}App-win64.zip + shell: bash + + - name: List files for the space (Windows) + run: | + Get-ChildItem -Path ${{ github.workspace }}/build/dist + Get-ChildItem -Path ${{ github.workspace }} + shell: pwsh + + # Save files created by ctest script + - name: Save published binary (Win) + uses: actions/upload-artifact@v4 + with: + name: zip-win-vs2022-app-binary + path: ${{ github.workspace }}/build/dist/${{ steps.set-file-base.outputs.FILE_BASE }}App-win64.zip + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Test with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + run: ant -noinput -buildfile build.xml junit + + build_and_test_linux: + # Linux (Ubuntu) w/ gcc + CMake + # + name: "Ubuntu gcc CMake" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + + - name: Get hdf4 snapshot + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf4' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf }}-ubuntu-2204_gcc.tar.gz' + + - name: List files for the space (Linux) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress gh binary (Linux) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-ubuntu-2204_gcc.tar.gz + + - name: Uncompress hdf4 binary (Linux) + run: | + cd "${{ github.workspace }}/hdf4" + tar -zxvf ${{ github.workspace }}/hdf4/HDF-*-Linux.tar.gz --strip-components 1 + + - name: set hdflib name + id: set-hdflib-name + run: | + HDFDIR=${{ github.workspace }}/hdf4/HDF_Group/HDF/ + FILE_NAME_HDF=$(ls ${{ github.workspace }}/hdf4/HDF_Group/HDF) + echo "HDFLIB_ENV=$HDFDIR$FILE_NAME_HDF" >> $GITHUB_OUTPUT + + - name: Get hdf5 release + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf5' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf5 }}-ubuntu-2204_gcc.tar.gz' + + - name: List files for the space (Linux) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress gh binary (Linux) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf5 }}-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: 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) + echo "HDF5LIB_ENV=$HDF5DIR$FILE_NAME_HDF5" >> $GITHUB_OUTPUT + + - name: List files for the binaries (Linux) + run: | + ls -l ${{ github.workspace }}/hdf4/HDF_Group/HDF + ls -l ${{ github.workspace }}/hdf5/HDF_Group/HDF5 + + - name: Set file base name (Linux) + id: set-file-base + run: | + FILE_NAME_BASE=$(echo "${{ inputs.file_base }}") + echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT + if [[ '${{ inputs.use_environ }}' == 'release' ]] + then + SOURCE_NAME_BASE=$(echo "${{ inputs.snap_name }}") + else + SOURCE_NAME_BASE=$(echo "hdfsrc") + fi + echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT + + # Get files created by release script + - name: Get tgz-tarball (Linux) + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: tgz-tarball + path: ${{ github.workspace }} + + - name: List files for the space (Linux) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress source (Linux) + run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz + + - name: Build with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + run: ant -noinput -buildfile build.xml binaryAppPackage + + - name: Rename snapshot binary base name + id: ren-basename + if: ${{ (inputs.use_environ == 'snapshots') }} + run: | + cd build/dist + mv ${{ inputs.snap_name }}-Linux-x86_64.tar.gz ${{ steps.set-file-base.outputs.FILE_BASE }}App-Linux-x86_64.tar.gz + shell: bash + + - name: List files in the space (Linux) + run: | + ls ${{ github.workspace }}/build/dist + ls -l ${{ runner.workspace }} + + # Save files created by ctest script + - name: Save published binary (Linux) + uses: actions/upload-artifact@v4 + with: + name: tgz-ubuntu-2204-app-binary + path: ${{ github.workspace }}/build/dist/${{ steps.set-file-base.outputs.FILE_BASE }}App-Linux-x86_64.tar.gz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Test with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + run: ant -noinput -buildfile build.xml junit + + build_and_test_mac: + # mac (osx) w/ clang + ant + # + name: "mac clang CMake" + runs-on: macos-13 + #if: false + steps: + - uses: actions/checkout@v3 + + - 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=app-signing + # 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 + + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + + - name: Get hdf4 release + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf4' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf }}-osx.tar.gz' + + - name: List files for the space (mac) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress gh binary (mac) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-osx.tar.gz + + - name: Uncompress hdf4 binary (mac) + run: | + cd "${{ github.workspace }}/hdf4" + tar -zxvf ${{ github.workspace }}/hdf4/HDF-*-Darwin.tar.gz --strip-components 1 + + - name: set hdflib name + id: set-hdflib-name + run: | + HDFDIR=${{ github.workspace }}/hdf4/HDF_Group/HDF/ + FILE_NAME_HDF=$(ls ${{ github.workspace }}/hdf4/HDF_Group/HDF) + echo "HDFLIB_ENV=$HDFDIR$FILE_NAME_HDF" >> $GITHUB_OUTPUT + + - name: Get hdf5 release + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf5' + version: 'tags/snapshot' + file: '${{ inputs.use_hdf5 }}-osx.tar.gz' + + - name: List files for the space (mac) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress gh binary (mac) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf5 }}-osx.tar.gz + + - name: Uncompress hdf5 binary (mac) + run: | + cd "${{ github.workspace }}/hdf5" + tar -zxvf ${{ github.workspace }}/hdf5/HDF5-*-Darwin.tar.gz --strip-components 1 + + - 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) + echo "HDF5LIB_ENV=$HDF5DIR$FILE_NAME_HDF5" >> $GITHUB_OUTPUT + + - name: List files for the binaries (mac) + run: | + ls -l ${{ github.workspace }}/hdf4/HDF_Group/HDF + ls -l ${{ github.workspace }}/hdf5/HDF_Group/HDF5 + + - name: Set file base name (mac) + id: set-file-base + run: | + FILE_NAME_BASE=$(echo "${{ inputs.file_base }}") + echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT + if [[ '${{ inputs.use_environ }}' == 'release' ]] + then + SOURCE_NAME_BASE=$(echo "${{ inputs.snap_name }}") + else + SOURCE_NAME_BASE=$(echo "hdfsrc") + fi + echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT + + # Get files created by release script + - name: Get tgz-tarball (mac) + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: tgz-tarball + path: ${{ github.workspace }} + + - name: List files for the space (mac) + run: | + ls -l ${{ github.workspace }} + ls ${{ runner.workspace }} + + - name: Uncompress source (mac) + run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz + + - name: Build with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + KEYCHAIN_NAME: app-signing + SIGNER: ${{ vars.SIGNER }} + NOTARY_USER: ${{ vars.NOTARY_USER }} + NOTARY_KEY: ${{ vars.NOTARY_KEY }} + run: ant -noinput -buildfile build.xml binaryAppPackage + + - name: Rename snapshot binary base name + id: ren-basename + if: ${{ (inputs.use_environ == 'snapshots') }} + run: | + cd build/dist + mv ${{ inputs.snap_name }}-Darwin.tar.gz ${{ steps.set-file-base.outputs.FILE_BASE }}App-Darwin.tar.gz + shell: bash + + - name: List files in the space (mac) + run: | + ls ${{ github.workspace }}/build/dist + ls -l ${{ runner.workspace }} + + # Save files created by ctest script + - name: Save published App-binary (mac) + uses: actions/upload-artifact@v4 + with: + name: tgz-osx-app-binary + path: ${{ github.workspace }}/build/dist/${{ steps.set-file-base.outputs.FILE_BASE }}App-Darwin.tar.gz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Test with Ant + env: + HDFLIBS: ${{ steps.set-hdflib-name.outputs.HDFLIB_ENV }} + HDF5LIBS: ${{ steps.set-hdf5lib-name.outputs.HDF5LIB_ENV }} + run: ant -noinput -buildfile build.xml junit + + diff --git a/.github/workflows/ant.yml b/.github/workflows/ant.yml index c1fa56e9..9270a720 100644 --- a/.github/workflows/ant.yml +++ b/.github/workflows/ant.yml @@ -341,7 +341,7 @@ jobs: run: ant -noinput -buildfile build.xml junit build_and_test_mac: - # mac (osx12) w/ clang + ant + # mac (osx) w/ clang + ant # name: "mac clang CMake" runs-on: macos-13 @@ -381,7 +381,7 @@ jobs: with: repo: 'HDFGroup/hdf4' version: 'tags/snapshot' - file: '${{ inputs.use_hdf }}-osx12.tar.gz' + file: '${{ inputs.use_hdf }}-osx.tar.gz' - name: List files for the space (mac) run: | @@ -389,7 +389,7 @@ jobs: ls ${{ runner.workspace }} - name: Uncompress gh binary (mac) - run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-osx12.tar.gz + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-osx.tar.gz - name: Uncompress hdf4 binary (mac) run: | @@ -408,7 +408,7 @@ jobs: with: repo: 'HDFGroup/hdf5' version: 'tags/snapshot' - file: '${{ inputs.use_hdf5 }}-osx12.tar.gz' + file: '${{ inputs.use_hdf5 }}-osx.tar.gz' - name: List files for the space (mac) run: | @@ -416,7 +416,7 @@ jobs: ls ${{ runner.workspace }} - name: Uncompress gh binary (mac) - run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf5 }}-osx12.tar.gz + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf5 }}-osx.tar.gz - name: Uncompress hdf5 binary (mac) run: | @@ -491,7 +491,7 @@ jobs: - name: Save published binary (mac) uses: actions/upload-artifact@v4 with: - name: tgz-osx12-binary + name: tgz-osx-binary path: ${{ github.workspace }}/build/dist/${{ steps.set-file-base.outputs.FILE_BASE }}-Darwin.tar.gz if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml index c9a32e2e..eb0cb83f 100644 --- a/.github/workflows/daily-build.yml +++ b/.github/workflows/daily-build.yml @@ -86,8 +86,21 @@ jobs: APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + call-workflow-ant-app: + needs: [get-base-names, call-workflow-tarball] + uses: ./.github/workflows/ant-app.yml + with: + file_base: ${{ needs.call-workflow-tarball.outputs.file_base }} + use_hdf: ${{ needs.get-base-names.outputs.hdf4-name }} + use_hdf5: ${{ needs.get-base-names.outputs.hdf5-name }} + 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 }} + call-workflow-release: - needs: [get-base-names, call-workflow-tarball, call-workflow-ant] + needs: [get-base-names, call-workflow-tarball, call-workflow-ant, call-workflow-ant-app] permissions: contents: write # In order to allow tag creation uses: ./.github/workflows/release-files.yml diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index f69e7fd4..1e4021c0 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -88,18 +88,18 @@ jobs: name: zip-tarball path: ${{ github.workspace }} - # Get files created by cmake-ctest script + # Get files created by ant script - name: Get published binary (Windows) uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: zip-win-vs2022-binary path: ${{ github.workspace }} -# - name: Get published binary (MacOS) -# uses: actions/download-artifact@v3 -# with: -# name: tgz-osx12-binary -# path: ${{ github.workspace }} + - name: Get published binary (MacOS) + uses: actions/download-artifact@v3 + with: + name: tgz-osx-binary + path: ${{ github.workspace }} - name: Get published binary (Linux) uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 @@ -107,6 +107,25 @@ jobs: name: tgz-ubuntu-2204-binary path: ${{ github.workspace }} + # Get files created by ant-app script + - name: Get published app binary (Windows) + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: zip-win-vs2022-app-binary + path: ${{ github.workspace }} + + - name: Get published app binary (MacOS) + uses: actions/download-artifact@v3 + with: + name: tgz-osx-app-binary + path: ${{ github.workspace }} + + - name: Get published app binary (Linux) + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: tgz-ubuntu-2204-app-binary + path: ${{ github.workspace }} + - name: List files for the space run: | ls -l ${{ github.workspace }} @@ -118,6 +137,10 @@ jobs: sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.zip >> sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-Linux-x86_64.tar.gz >> sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win64.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}App-Linux-x86_64.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}App-win64.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}App-osx.zip >> sha256sums.txt - name: Store snapshot name run: | @@ -146,6 +169,10 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}.zip ${{ steps.get-file-base.outputs.FILE_BASE }}-Linux-x86_64.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win64.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}App-Linux-x86_64.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}App-win64.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}App-osx.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: Release tag @@ -160,6 +187,10 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}.zip ${{ steps.get-file-base.outputs.FILE_BASE }}-Linux-x86_64.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win64.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}App-Linux-x86_64.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}App-win64.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}App-osx.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: List files for the space (Linux) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 805c5b61..9541b117 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,8 +64,22 @@ jobs: APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + call-workflow-ant-app: + needs: [log-the-inputs, call-workflow-tarball] + uses: ./.github/workflows/ant-app.yml + with: + use_hdf: ${{ needs.log-the-inputs.outputs.rel4_tag }} + use_hdf5: ${{ needs.log-the-inputs.outputs.rel5_tag }} + file_base: ${{ needs.create-files-ant.outputs.file_base }} + snap_name: hdfview-${{ needs.call-workflow-tarball.outputs.source_base }} + use_environ: release + secrets: + APPLE_CERTS_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }} + APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + call-workflow-release: - needs: [log-the-inputs, call-workflow-tarball, call-workflow-ant] + needs: [log-the-inputs, call-workflow-tarball, call-workflow-ant, call-workflow-ant-app] permissions: contents: write # In order to allow tag creation uses: ./.github/workflows/release-files.yml