This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |