name: hdf5 dev release-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 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 # Previous workflows must pass to get here so tag the commit that created the files jobs: create-tag: runs-on: ubuntu-latest permissions: contents: write # In order to allow tag creation steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Get Sources uses: actions/checkout@v4 with: fetch-depth: 0 - run: | git checkout ${{ inputs.file_sha }} - uses: rickstaa/action-create-tag@v1 id: "tag_create" with: commit_sha: ${{ inputs.file_sha }} tag: "${{ inputs.use_tag }}" force_push_tag: true message: "Latest snapshot" if: ${{ inputs.use_environ == 'snapshots' }} # Print result using the action output. - run: | echo "Tag already present: ${{ steps.tag_create.outputs.tag_exists }}" PreRelease-getfiles: runs-on: ubuntu-latest needs: create-tag 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@v3 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@v3 with: name: tgz-tarball path: ${{ github.workspace }} - name: Get zip-tarball (Windows) uses: actions/download-artifact@v3 with: name: zip-tarball path: ${{ github.workspace }} # Get files created by cmake-ctest script - name: Get published binary (Windows) uses: actions/download-artifact@v3 with: name: zip-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 (Linux) uses: actions/download-artifact@v3 with: name: tgz-ubuntu-2204-binary path: ${{ github.workspace }} - name: Store snapshot name run: | echo "${{ steps.get-file-base.outputs.FILE_BASE }}" > ./last-file.txt - name: PreRelease tag id: create_prerelease if: ${{ (inputs.use_environ == 'snapshots') }} uses: softprops/action-gh-release@v1 with: tag_name: "${{ inputs.use_tag }}" prerelease: true 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 }}-osx12.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: Release tag id: create_release if: ${{ (inputs.use_environ == 'release') }} uses: softprops/action-gh-release@v1 with: tag_name: "${{ inputs.use_tag }}" prerelease: false #body_path: ${{ github.workspace }}-CHANGELOG.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 ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip 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@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen