Skip to content

[dagster-airlift][federation-tutorial] Implement dags #9711

[dagster-airlift][federation-tutorial] Implement dags

[dagster-airlift][federation-tutorial] Implement dags #9711

Workflow file for this run

name: Deploy Docs
on:
push:
branches:
- master
- "release-*" # older verions of the docs
- docs-prod # prod
paths:
- docs/**
- "!docs/docs-beta/**" # Exclude docs-beta
- examples/docs_snippets/**
- CHANGES.md
- .github/workflows/build-docs.yml
pull_request:
paths:
- docs/**
- "!docs/docs-beta/**" # Exclude docs-beta
- examples/docs_snippets/**
- CHANGES.md
- .github/workflows/build-docs.yml
concurrency:
# Cancel in-progress runs on same branch
group: ${{ github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# Deploy to Vercel Previews on pull request, push to master branch, or push to release-* branch
- name: Get branch preview subdomain
env:
HEAD_REF: ${{ github.head_ref }}
REF_NAME: ${{ github.ref_name }}
if: |
github.event_name == 'pull_request' ||
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') || startsWith(github.ref, 'refs/heads/docs-prod')))
run: |
BRANCH_PREVIEW_SUBDOMAIN=$(echo "${HEAD_REF:-$REF_NAME}" | sed -e 's/[^a-zA-Z0-9-]/-/g; s/^-*//; s/-*$//' | head -c 63)
echo "$BRANCH_PREVIEW_SUBDOMAIN"
echo "BRANCH_PREVIEW_SUBDOMAIN=$BRANCH_PREVIEW_SUBDOMAIN" >> "${GITHUB_ENV}"
- name: Checkout master/release branch
if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') || startsWith(github.ref, 'refs/heads/docs-prod'))
uses: actions/checkout@v4
- name: Get PR fetch depth
if: ${{ github.event.pull_request }}
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
- name: Checkout PR branch
uses: actions/checkout@v4
if: ${{ github.event.pull_request }}
with:
fetch-depth: ${{ env.PR_FETCH_DEPTH }}
- name: Get changed docs files for PR comment
if: ${{ github.event.pull_request }}
run: |
echo "Head ref is $GITHUB_HEAD_SHA"
git fetch origin $GITHUB_HEAD_SHA
# Compare the commit the branch is based on to its head to list changed files
CHANGED_MDX_FILES=$(git diff --name-only HEAD~${{ github.event.pull_request.commits }} "$GITHUB_HEAD_SHA" -- '*.mdx')
CHANGES_ENTRY=$(echo "$CHANGED_MDX_FILES" | sed 's/\.mdx$//' | sed 's/^docs\/content/- {{deploymentUrl}}/')
CHANGES_ENTRY=$(echo -e "Preview available at {{deploymentUrl}}\n\nDirect link to changed pages:\n$CHANGES_ENTRY")
echo "$CHANGES_ENTRY"
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "CHANGES_ENTRY<<$EOF" >> $GITHUB_ENV
echo "$CHANGES_ENTRY" >> $GITHUB_ENV
echo "$EOF" >> $GITHUB_ENV
env:
GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
- name: Copy doc snippets to public directory
run: |
ls
mkdir -p docs/next/public/docs_snippets
cp -R examples/docs_snippets/docs_snippets docs/next/public/docs_snippets/
- name: Publish Preview to Vercel
uses: amondnet/vercel-action@v25
if: |
github.event_name == 'pull_request' ||
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') || startsWith(github.ref, 'refs/heads/docs-prod')))
with:
github-comment: ${{ github.event.pull_request && env.CHANGES_ENTRY || true }}
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
github-token: ${{ secrets.GITHUB_TOKEN }}
scope: ${{ secrets.VERCEL_ORG_ID }}
alias-domains: ${{ env.BRANCH_PREVIEW_SUBDOMAIN }}.dagster.dagster-docs.io
# Deploy to Vercel Production on push to docs-prod branch
- name: Checkout docs-prod branch
if: github.event_name == 'push' && github.ref == 'refs/heads/docs-prod'
uses: actions/checkout@v4
- name: Copy doc snippets to public directory (Production)
if: github.event_name == 'push' && github.ref == 'refs/heads/docs-prod'
run: |
mkdir -p docs/next/public/docs_snippets
cp -R examples/docs_snippets/docs_snippets docs/next/public/docs_snippets/
- name: Publish to Vercel Production
uses: amondnet/vercel-action@v25
if: github.event_name == 'push' && github.ref == 'refs/heads/docs-prod'
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
vercel-args: "--prod"
github-token: ${{ secrets.GITHUB_TOKEN }}
scope: ${{ secrets.VERCEL_ORG_ID }}