Skip to content

Workflow file for this run

name: Vercel deployment preview link generator
on:
pull_request:
types: [opened, synchronize]
paths:
- 'website/docs/docs/**'
- 'website/docs/best-practices/**'
- 'website/docs/guides/**'
- 'website/docs/faqs/**'
- 'website/docs/reference/**'
permissions:
contents: read
pull-requests: write
jobs:
comment-deployment-link:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Wait for Vercel deployment
run: |
echo "Waiting for Vercel deployment to complete..."
sleep 300 # Adjust based on deployment time
- name: Get Vercel deployment URL
id: vercel_url
run: |
# If the Vercel deployment URL is available via API, capture it here
DEPLOYMENT_URL="https://docs-getdbt-${{ github.sha }}-dbt-labs.vercel.app"
echo "::set-output name=deployment_url::${DEPLOYMENT_URL}"
- name: Get changed files
id: files
run: |
CHANGED_FILES=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep 'website/docs/docs/')
echo "::set-output name=changed_files::${CHANGED_FILES}"
- name: Generate file preview links
id: links
run: |
DEPLOYMENT_URL="${{ steps.vercel_url.outputs.deployment_url }}"
CHANGED_FILES="${{ steps.files.outputs.changed_files }}"
# Strip the 'website/docs/docs/' portion and append the rest to the URL
LINKS=$(echo "$CHANGED_FILES" | sed 's#website/docs/docs/##; s/.md$//' | awk -v url="$DEPLOYMENT_URL" '{print "- [" $0 "](" url "/docs/" $0 ")"}')
echo "::set-output name=links::${LINKS}"
- name: Post comment with deployment link
uses: peter-evans/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
body: |
🚀 Deployment available: ${{ steps.vercel_url.outputs.deployment_url }}
Here are the direct links to the updated files:
${{ steps.links.outputs.links }}