mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
* Move release tag creation in draft to publish of draft. * target_commitish needs the full sha for the release tag.
280 lines
13 KiB
YAML
280 lines
13 KiB
YAML
name: hdf5 dev release-files
|
|
|
|
# Triggers the workflow on a call from another workflow
|
|
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 source tarballs"
|
|
required: true
|
|
type: string
|
|
file_branch:
|
|
description: "The branch name for the source tarballs"
|
|
required: true
|
|
type: string
|
|
file_sha:
|
|
description: "The sha for the source tarballs"
|
|
required: true
|
|
type: string
|
|
|
|
# Minimal permissions to be inherited by any job that doesn't declare its own permissions
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
|
|
# Previous workflows must pass to get here so tag the commit that created the files
|
|
jobs:
|
|
PreRelease-getfiles:
|
|
runs-on: ubuntu-latest
|
|
environment: ${{ inputs.use_environ }}
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Get file base name
|
|
id: get-file-base
|
|
run: |
|
|
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
|
|
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
|
|
|
|
# Get files created by tarball script
|
|
- name: Get doxygen (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: docs-doxygen
|
|
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
|
|
|
|
- name: Zip Folder
|
|
run: zip -r ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ./${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
|
|
|
|
- name: Get tgz-tarball (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-tarball
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get zip-tarball (Windows)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: zip-tarball
|
|
path: ${{ github.workspace }}
|
|
|
|
# Get files created by cmake-ctest script
|
|
- name: Get published binary (Windows)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: zip-vs2026_cl-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published msi binary (Windows)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: msi-vs2026_cl-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published binary (MacOS)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-macos15_clang-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published dmg binary (MacOS)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-macos15_clang-dmg-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published binary (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-ubuntu-2404_gcc-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published deb binary (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: deb-ubuntu-2404_gcc-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published rpm binary (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: rpm-ubuntu-2404_gcc-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published binary (Linux S3)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-ubuntu-2404_gcc_s3-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published binary (Windows_intel)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: zip-vs2022_intel-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published msi binary (Windows_intel)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: msi-vs2022_intel-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published binary (Linux_intel)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-ubuntu-2404_intel-binary
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published abi reports (Linux)
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: abi-reports
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published nonversioned source (tgz)
|
|
if: ${{ (inputs.use_environ == 'release') }}
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: tgz-tarball-nover
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: Get published nonversioned source (zip)
|
|
if: ${{ (inputs.use_environ == 'release') }}
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
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 }}-macos15_clang.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-macos15_clang.dmg >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.deb >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.rpm >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc_s3.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.msi >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_intel.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
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 }}-win-vs2022_intel.msi >> ${{ 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 hdf5.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
sha256sum hdf5.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
|
|
|
|
- name: Get description.txt for release/snapshot
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: description.txt
|
|
path: ${{ github.workspace }}
|
|
|
|
- name: PreRelease tag
|
|
id: create_prerelease
|
|
if: ${{ (inputs.use_environ == 'snapshots') }}
|
|
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
|
|
with:
|
|
tag_name: "${{ inputs.use_tag }}"
|
|
target_commitish: ${{ inputs.file_sha }}
|
|
prerelease: true
|
|
body_path: description.txt
|
|
files: |
|
|
last-file.txt
|
|
${{ 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 }}-macos15_clang.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-macos15_clang.dmg
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.deb
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.rpm
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc_s3.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.zip
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.msi
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_intel.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.msi
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
|
|
|
- name: Release tag name
|
|
id: create_release_tag_name
|
|
if: ${{ (inputs.use_environ == 'release') }}
|
|
run: |
|
|
if [[ '${{ inputs.use_tag }}' == 'snapshot' ]]
|
|
then
|
|
TAG_NAME_BASE=$(echo "snapshot")
|
|
else
|
|
TAG_NAME_BASE=$(echo "${{ inputs.use_tag }}")
|
|
fi
|
|
echo "TAG_BASE=$TAG_NAME_BASE" >> $GITHUB_OUTPUT
|
|
shell: bash
|
|
|
|
- name: Release tag
|
|
id: create_release
|
|
if: ${{ (inputs.use_environ == 'release') }}
|
|
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
|
|
with:
|
|
tag_name: "${{ steps.create_release_tag_name.outputs.TAG_BASE }}"
|
|
target_commitish: ${{ inputs.file_sha }}
|
|
name: "HDF5 Release ${{ inputs.use_tag }}"
|
|
draft: true
|
|
prerelease: false
|
|
body_path: description.txt
|
|
files: |
|
|
${{ 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
|
|
hdf5.tar.gz
|
|
hdf5.zip
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-macos15_clang.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-macos15_clang.dmg
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.deb
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc.rpm
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_gcc_s3.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.zip
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2026_cl.msi
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2404_intel.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.msi
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports.tar.gz
|
|
${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
|
|
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
|
|
|
- name: List files for the space (Linux)
|
|
run: |
|
|
ls -l ${{ github.workspace }}
|
|
ls ${{ runner.workspace }}
|
|
|
|
- name: dev-only-docs
|
|
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
|
|
destination_dir: develop
|
|
|