summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2024-02-15 21:32:01 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2024-02-16 17:53:12 (GMT)
commitd15747d773b35ee0178a25f0c691db8fd90f9862 (patch)
tree8ce74288e28cec0d8b9f1b984ca42c7e720052f5
parentb6a9404d0faeefdaeeb67ffc33f30389ac2dcba9 (diff)
downloadhdf5-d15747d773b35ee0178a25f0c691db8fd90f9862.zip
hdf5-d15747d773b35ee0178a25f0c691db8fd90f9862.tar.gz
hdf5-d15747d773b35ee0178a25f0c691db8fd90f9862.tar.bz2
Delete old snapshot binaries after new snapshots are created (#4020)
-rw-r--r--.github/workflows/daily-build.yml31
-rw-r--r--.github/workflows/release.yml1
-rw-r--r--.github/workflows/remove-files.yml60
3 files changed, 91 insertions, 1 deletions
diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml
index 257b352..0f1e573 100644
--- a/.github/workflows/daily-build.yml
+++ b/.github/workflows/daily-build.yml
@@ -12,6 +12,26 @@ permissions:
# 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
+ outputs:
+ hdf5-name: ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}
+
+ steps:
+ - uses: actions/checkout@v4.1.1
+
+ - name: Get hdf5 release base name
+ uses: dsaltares/fetch-gh-release-asset@master
+ with:
+ version: 'tags/snapshot'
+ file: 'last-file.txt'
+
+ - name: Read base-name file
+ id: gethdf5base
+ run: echo "HDF5_NAME_BASE=$(cat last-file.txt)" >> $GITHUB_OUTPUT
+
+ - run: echo "hdf5 base name is ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}."
+
call-workflow-tarball:
uses: ./.github/workflows/tarball.yml
with:
@@ -50,3 +70,14 @@ jobs:
use_environ: snapshots
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
+ call-workflow-remove:
+ needs: [get-old-names, call-workflow-tarball, call-workflow-ctest, call-workflow-abi, call-workflow-release]
+ permissions:
+ contents: write # In order to allow file deletion
+ uses: ./.github/workflows/remove-files.yml
+ with:
+ file_base: ${{ needs.get-old-names.outputs.hdf5-name }}
+ use_tag: snapshot
+ use_environ: snapshots
+ if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
+
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 768581d..54c9a67 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -96,7 +96,6 @@ jobs:
use_environ: release
call-workflow-release:
- #needs: [call-workflow-tarball, call-workflow-ctest]
needs: [log-the-inputs, create-files-ctest, call-workflow-ctest, call-workflow-abi]
permissions:
contents: write # In order to allow tag creation
diff --git a/.github/workflows/remove-files.yml b/.github/workflows/remove-files.yml
new file mode 100644
index 0000000..1d72362
--- /dev/null
+++ b/.github/workflows/remove-files.yml
@@ -0,0 +1,60 @@
+name: hdf5 dev remove-files
+
+# Controls when the action will run. Triggers the workflow on a schedule
+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
+
+# Minimal permissions to be inherited by any job that doesn't declare its own permissions
+permissions:
+ contents: read
+
+# Previous workflows must pass to get here so tag the commit that created the files
+jobs:
+ PreRelease-delfiles:
+ 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
+
+ - name: PreRelease delete from tag
+ id: delete_prerelease
+ if: ${{ (inputs.use_environ == 'snapshots') }}
+ uses: mknejp/delete-release-assets@v1
+ with:
+ token: ${{ github.token }}
+ tag: "${{ inputs.use_tag }}"
+ assets: |
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_compat_report.html
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_hl_compat_report.html
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_cpp_compat_report.html
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-java_compat_report.html
+ ${{ 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 }}-ubuntu-2204_gcc.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc_s3.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip