From e3dfe64a4fd1845a4f4465248083326f1dd27a30 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Mon, 24 Jun 2024 07:59:29 -0500 Subject: [PATCH] Add publish to bucket workflow (#4566) --- .github/workflows/abi-report.yml | 1 + .github/workflows/aocc-auto.yml | 1 + .github/workflows/aocc-cmake.yml | 1 + .github/workflows/autotools.yml | 5 +-- .github/workflows/cmake-bintest.yml | 4 +- .github/workflows/cmake-ctest.yml | 4 +- .github/workflows/cmake.yml | 5 +-- .github/workflows/cve.yml | 1 + .github/workflows/cygwin-auto.yml | 1 + .github/workflows/cygwin-cmake.yml | 1 + .github/workflows/daily-build.yml | 4 +- .github/workflows/h5py.yml | 2 + .github/workflows/hdfeos5.yml | 1 + .github/workflows/intel-auto.yml | 1 + .github/workflows/intel-cmake.yml | 1 + .github/workflows/main-auto.yml | 5 +-- .github/workflows/main-cmake.yml | 5 +-- .github/workflows/markdown-link-check.yml | 1 + .github/workflows/msys2-auto.yml | 1 + .github/workflows/netcdf.yml | 1 + .github/workflows/nvhpc-auto.yml | 1 + .github/workflows/nvhpc-cmake.yml | 1 + .github/workflows/publish-release.yml | 55 +++++++++++++++++++++++ .github/workflows/release-files.yml | 2 +- .github/workflows/release.yml | 4 +- .github/workflows/remove-files.yml | 2 +- .github/workflows/tarball.yml | 4 +- .github/workflows/vfd.yml | 2 +- .github/workflows/vol.yml | 2 +- 29 files changed, 84 insertions(+), 35 deletions(-) create mode 100644 .github/workflows/publish-release.yml diff --git a/.github/workflows/abi-report.yml b/.github/workflows/abi-report.yml index b2a20fb6891..b37064e840b 100644 --- a/.github/workflows/abi-report.yml +++ b/.github/workflows/abi-report.yml @@ -1,5 +1,6 @@ name: hdf5 Check Application Binary Interface (ABI) +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/aocc-auto.yml b/.github/workflows/aocc-auto.yml index c8dee46a16c..466ef1a6a4b 100644 --- a/.github/workflows/aocc-auto.yml +++ b/.github/workflows/aocc-auto.yml @@ -1,5 +1,6 @@ name: hdf5 dev PAR autotools aocc ompi +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/aocc-cmake.yml b/.github/workflows/aocc-cmake.yml index be908be4b1d..4b81bcc3207 100644 --- a/.github/workflows/aocc-cmake.yml +++ b/.github/workflows/aocc-cmake.yml @@ -1,5 +1,6 @@ name: hdf5 dev PAR CMake aocc ompi +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/autotools.yml b/.github/workflows/autotools.yml index fe81ed2c66b..a430dc6b51c 100644 --- a/.github/workflows/autotools.yml +++ b/.github/workflows/autotools.yml @@ -1,6 +1,6 @@ name: hdf5 dev autotools CI -# Controls when the action will run. Triggers the workflow on push or pull request +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: @@ -23,9 +23,6 @@ concurrency: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. We just have one job, but the matrix items defined below will -# run in parallel. jobs: call-workflow-special-autotools: name: "Autotools Special Workflows" diff --git a/.github/workflows/cmake-bintest.yml b/.github/workflows/cmake-bintest.yml index 61604b366df..f91a617b935 100644 --- a/.github/workflows/cmake-bintest.yml +++ b/.github/workflows/cmake-bintest.yml @@ -1,6 +1,6 @@ name: hdf5 examples bintest runs -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -12,8 +12,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel jobs: test_binary_win: # Windows w/ MSVC + CMake diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 32584a16cc1..b7c49490ab1 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -1,6 +1,6 @@ name: hdf5 dev ctest runs -# Controls when the action will run. Triggers the workflow on a call +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -26,8 +26,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel jobs: build_and_test_win: # Windows w/ MSVC + CMake diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 72ee90f3bab..21d201922de 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -1,6 +1,6 @@ name: hdf5 dev cmake CI -# Controls when the action will run. Triggers the workflow on push or pull request +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: @@ -23,9 +23,6 @@ concurrency: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. We just have one job, but the matrix items defined below will -# run in parallel. jobs: call-workflow-special-cmake: name: "CMake Special Workflows" diff --git a/.github/workflows/cve.yml b/.github/workflows/cve.yml index b0564d84247..93b1ae9894b 100644 --- a/.github/workflows/cve.yml +++ b/.github/workflows/cve.yml @@ -1,5 +1,6 @@ name: cve dev +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: diff --git a/.github/workflows/cygwin-auto.yml b/.github/workflows/cygwin-auto.yml index 5075fa28bba..1a889288bc6 100644 --- a/.github/workflows/cygwin-auto.yml +++ b/.github/workflows/cygwin-auto.yml @@ -1,5 +1,6 @@ name: hdf5 dev autotools cygwin +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/cygwin-cmake.yml b/.github/workflows/cygwin-cmake.yml index a04dcbf27d7..37e81f7bc94 100644 --- a/.github/workflows/cygwin-cmake.yml +++ b/.github/workflows/cygwin-cmake.yml @@ -1,5 +1,6 @@ name: hdf5 dev CMake cygwin +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml index fac360e7884..3e5b3a5c3b5 100644 --- a/.github/workflows/daily-build.yml +++ b/.github/workflows/daily-build.yml @@ -1,6 +1,6 @@ name: hdf5 dev daily build -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a schedule or on demand on: workflow_dispatch: schedule: @@ -9,8 +9,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. jobs: get-old-names: runs-on: ubuntu-latest diff --git a/.github/workflows/h5py.yml b/.github/workflows/h5py.yml index 0497a75884c..346eeef2856 100644 --- a/.github/workflows/h5py.yml +++ b/.github/workflows/h5py.yml @@ -1,4 +1,6 @@ name: h5py + +# Triggers the workflow on a schedule or on demand on: workflow_dispatch: schedule: diff --git a/.github/workflows/hdfeos5.yml b/.github/workflows/hdfeos5.yml index 19692b75196..97453e5f397 100644 --- a/.github/workflows/hdfeos5.yml +++ b/.github/workflows/hdfeos5.yml @@ -1,5 +1,6 @@ name: hdfeos5 dev +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: diff --git a/.github/workflows/intel-auto.yml b/.github/workflows/intel-auto.yml index e24b21e2b2f..5e7c9199158 100644 --- a/.github/workflows/intel-auto.yml +++ b/.github/workflows/intel-auto.yml @@ -1,5 +1,6 @@ name: hdf5 dev autotools icx +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/intel-cmake.yml b/.github/workflows/intel-cmake.yml index 4532ca4ec42..14858ad3652 100644 --- a/.github/workflows/intel-cmake.yml +++ b/.github/workflows/intel-cmake.yml @@ -1,5 +1,6 @@ name: hdf5 dev CMake icx +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/main-auto.yml b/.github/workflows/main-auto.yml index 978b48ff1aa..fec1bff5726 100644 --- a/.github/workflows/main-auto.yml +++ b/.github/workflows/main-auto.yml @@ -1,6 +1,6 @@ name: hdf5 dev autotools CI -# Controls when the action will run. Triggers the workflow on a call +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -16,9 +16,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. We just have one job, but the matrix items defined below will -# run in parallel. jobs: # A workflow that builds the library and runs all the tests diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml index 7bc88d3006c..b9c59131de9 100644 --- a/.github/workflows/main-cmake.yml +++ b/.github/workflows/main-cmake.yml @@ -1,6 +1,6 @@ name: hdf5 dev CMake CI -# Controls when the action will run. Triggers the workflow on a call +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -17,9 +17,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. We just have one job, but the matrix items defined below will -# run in parallel. jobs: # A workflow that builds the library and runs all the tests diff --git a/.github/workflows/markdown-link-check.yml b/.github/workflows/markdown-link-check.yml index 6a18f0b5bd4..d43505d99e8 100644 --- a/.github/workflows/markdown-link-check.yml +++ b/.github/workflows/markdown-link-check.yml @@ -1,5 +1,6 @@ name: Check Markdown links +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: diff --git a/.github/workflows/msys2-auto.yml b/.github/workflows/msys2-auto.yml index 4ea2da82c91..12c75f251c1 100644 --- a/.github/workflows/msys2-auto.yml +++ b/.github/workflows/msys2-auto.yml @@ -1,5 +1,6 @@ name: hdf5 dev Autotools MSys2 +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/netcdf.yml b/.github/workflows/netcdf.yml index d7ab2219297..ca32cf38480 100644 --- a/.github/workflows/netcdf.yml +++ b/.github/workflows/netcdf.yml @@ -1,5 +1,6 @@ name: netCDF dev +# Triggers the workflow on push or pull request or on demand on: workflow_dispatch: push: diff --git a/.github/workflows/nvhpc-auto.yml b/.github/workflows/nvhpc-auto.yml index 555b0938eff..4e3a4efed58 100644 --- a/.github/workflows/nvhpc-auto.yml +++ b/.github/workflows/nvhpc-auto.yml @@ -1,5 +1,6 @@ name: hdf5 dev autotools nvhpc +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/nvhpc-cmake.yml b/.github/workflows/nvhpc-cmake.yml index e9811c4900d..8ac50eeef45 100644 --- a/.github/workflows/nvhpc-cmake.yml +++ b/.github/workflows/nvhpc-cmake.yml @@ -1,5 +1,6 @@ name: hdf5 dev CMake nvhpc +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml new file mode 100644 index 00000000000..2139edff20d --- /dev/null +++ b/.github/workflows/publish-release.yml @@ -0,0 +1,55 @@ +name: hdf5 publishrelease + +# Triggers the workflow on demand +on: + workflow_dispatch: + inputs: + use_tag: + description: 'HDF5 Release version tag' + type: string + required: true + target_dir: + description: 'HDF5 target bucket directory' + type: string + required: true + permissions: + contents: read + +jobs: + publish-tag: + runs-on: ubuntu-latest + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Get Sources + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + ref: '${{ github.head_ref || github.ref_name }}' + + - name: Get hdf5 release + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: 'HDFGroup/hdf5' + version: 'tags/${{ inputs.use_tag }}' + regex: true + target: 'HDF5/' + file: '${{ inputs.use_hdf }}-*.*' + + - name: Setup AWS CLI + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Sync release to S3 bucket + run: | + aws s3 sync ./HDF5 s3://${{ secrets.AWS_S3_BUCKET }}/${{ vars.TARGET_PATH }}/${{ inputs.target_dir }}/downloads --delete + + - name: Uncompress source (Linux) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}.doxygen.tar.gz + + - name: Sync userguide to S3 bucket + run: | + aws s3 sync ./doxygen s3://${{ secrets.AWS_S3_BUCKET }}/${{ vars.TARGET_PATH }}/${{ inputs.target_dir }}/documentation --delete + diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index d1e74627ec9..cdcfdb66b2f 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -1,6 +1,6 @@ name: hdf5 dev release-files -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa45a70fe0e..9890c8abb45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: hdf5 dev release build -# Controls when the action will run. Triggers the workflow on a manual run +# Triggers the workflow on demand on: workflow_dispatch: inputs: @@ -13,8 +13,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. jobs: log-the-inputs: runs-on: ubuntu-latest diff --git a/.github/workflows/remove-files.yml b/.github/workflows/remove-files.yml index 760a08592f5..488515f0d0c 100644 --- a/.github/workflows/remove-files.yml +++ b/.github/workflows/remove-files.yml @@ -1,6 +1,6 @@ name: hdf5 dev remove-files -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml index 26679160290..41774a8a7d3 100644 --- a/.github/workflows/tarball.yml +++ b/.github/workflows/tarball.yml @@ -1,6 +1,6 @@ name: hdf5 dev tarball -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -34,8 +34,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel jobs: check_commits: name: Check for recent commits diff --git a/.github/workflows/vfd.yml b/.github/workflows/vfd.yml index 0cf7458518c..46f21256909 100644 --- a/.github/workflows/vfd.yml +++ b/.github/workflows/vfd.yml @@ -1,6 +1,6 @@ name: hdf5 VFD CI -# Run VFD CI daily at 07:00 CDT (12:00 UTC) +# Run VFD CI daily at 07:00 CDT (12:00 UTC) or on demand on: workflow_dispatch: schedule: diff --git a/.github/workflows/vol.yml b/.github/workflows/vol.yml index ac2a9f5c553..92ba43bcf03 100644 --- a/.github/workflows/vol.yml +++ b/.github/workflows/vol.yml @@ -1,6 +1,6 @@ name: hdf5 VOL connectors CI -# Run VOL connector CI daily at 06:00 CDT (11:00 UTC) +# Run VOL connector CI daily at 06:00 CDT (11:00 UTC) or on demand. on: workflow_dispatch: schedule: