Skip to content

HTML Preview

HTML Preview #337

Workflow file for this run

name: HTML Preview
on:
workflow_run:
workflows: ["Github Pages"]
types: [completed]
jobs:
get-pr-number:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.event == 'pull_request' }}
outputs:
output1: ${{ steps.echo_pr_nb.outputs.pr_number }}
steps:
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: publish.yml
run_id: ${{ github.event.workflow_run.id }}
- name: Read the pull_request_number.txt file
id: pull_request_number_reader
uses: juliangruber/[email protected]
with:
path: ./pull_request_number/pull_request_number.txt
- name: Echo pull_request_number
id: echo_pr_nb
run: echo "pr_number=${{ steps.pull_request_number_reader.outputs.content }}" >> $GITHUB_OUTPUT
on-failure:
runs-on: ubuntu-latest
needs: get-pr-number
if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'failure' }}
steps:
- name: 'Comment on PR - Waiting for deployment'
uses: hasura/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
number: ${{ needs.get-pr-number.outputs.output1 }}
id: deploy-preview
message: "⚠️⚠️⚠️ Build Failed: No preview available."
on-success:
runs-on: ubuntu-latest
needs: get-pr-number
if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }}
env:
PR_PATH: dipy.org/pull/${{needs.get-pr-number.outputs.output1}}
BASE_URL: https://dipy.github.io/preview-html
steps:
- name: 'Comment on PR - Waiting for deployment'
uses: hasura/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
number: ${{ needs.get-pr-number.outputs.output1 }}
id: deploy-preview
message: "Starting deployment of preview ⏳..."
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: publish.yml
run_id: ${{ github.event.workflow_run.id }}
name: DocumentationHTML
path: ./DocumentationHTML
- name: Deploy to PR preview
uses: peaceiris/actions-gh-pages@v4
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
external_repository: dipy/preview-html
publish_dir: ./DocumentationHTML
publish_branch: main
destination_dir: ${{ env.PR_PATH }}
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: ${{ github.event.head_commit.message }}
- name: Update comment
uses: hasura/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
number: ${{ needs.get-pr-number.outputs.output1 }}
id: deploy-preview
message: "A preview of ${{ github.event.workflow_run.head_commit.message }} is uploaded and can be seen here:\n\n ✨ ${{ env.BASE_URL }}/${{ env.PR_PATH }} ✨\n\nChanges may take a few minutes to propagate. The source is here: https://github.com/dipy/preview-html/tree/main/${{ env.PR_PATH }}/"