mirror of
https://github.com/apache/superset.git
synced 2026-04-07 18:35:15 +00:00
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
113 lines
4.0 KiB
YAML
113 lines
4.0 KiB
YAML
name: Docs Deployment
|
|
|
|
on:
|
|
# Deploy after integration tests complete on master
|
|
workflow_run:
|
|
workflows: ["Python-Integration"]
|
|
types: [completed]
|
|
branches: [master]
|
|
|
|
# Also allow manual trigger and direct pushes to docs
|
|
push:
|
|
paths:
|
|
- "docs/**"
|
|
- "README.md"
|
|
branches:
|
|
- "master"
|
|
|
|
workflow_dispatch: {}
|
|
|
|
jobs:
|
|
config:
|
|
runs-on: ubuntu-24.04
|
|
outputs:
|
|
has-secrets: ${{ steps.check.outputs.has-secrets }}
|
|
steps:
|
|
- name: "Check for secrets"
|
|
id: check
|
|
shell: bash
|
|
run: |
|
|
if [ -n "${{ (secrets.SUPERSET_SITE_BUILD != '' && secrets.SUPERSET_SITE_BUILD != '') || '' }}" ]; then
|
|
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
build-deploy:
|
|
needs: config
|
|
if: needs.config.outputs.has-secrets
|
|
name: Build & Deploy
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: "Checkout ${{ github.event.workflow_run.head_sha || github.sha }}"
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
|
|
persist-credentials: false
|
|
submodules: recursive
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version-file: './docs/.nvmrc'
|
|
- name: Setup Python
|
|
uses: ./.github/actions/setup-backend/
|
|
- uses: actions/setup-java@v5
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: '21'
|
|
- name: Install Graphviz
|
|
run: sudo apt-get install -y graphviz
|
|
- name: Compute Entity Relationship diagram (ERD)
|
|
env:
|
|
SUPERSET_SECRET_KEY: not-a-secret
|
|
run: |
|
|
python scripts/erd/erd.py
|
|
curl -L http://sourceforge.net/projects/plantuml/files/1.2023.7/plantuml.1.2023.7.jar/download > ~/plantuml.jar
|
|
java -jar ~/plantuml.jar -v -tsvg -r -o "${{ github.workspace }}/docs/static/img/" "${{ github.workspace }}/scripts/erd/erd.puml"
|
|
- name: yarn install
|
|
working-directory: docs
|
|
run: |
|
|
yarn install --check-cache
|
|
- name: Download database diagnostics (if triggered by integration tests)
|
|
if: github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success'
|
|
uses: dawidd6/action-download-artifact@v16
|
|
continue-on-error: true
|
|
with:
|
|
workflow: superset-python-integrationtest.yml
|
|
run_id: ${{ github.event.workflow_run.id }}
|
|
name: database-diagnostics
|
|
path: docs/src/data/
|
|
- name: Try to download latest diagnostics (for push/dispatch triggers)
|
|
if: github.event_name != 'workflow_run'
|
|
uses: dawidd6/action-download-artifact@v16
|
|
continue-on-error: true
|
|
with:
|
|
workflow: superset-python-integrationtest.yml
|
|
name: database-diagnostics
|
|
path: docs/src/data/
|
|
branch: master
|
|
search_artifacts: true
|
|
if_no_artifact_found: warn
|
|
- name: Use diagnostics artifact if available
|
|
working-directory: docs
|
|
run: |
|
|
if [ -f "src/data/databases-diagnostics.json" ]; then
|
|
echo "Using fresh diagnostics from integration tests"
|
|
mv src/data/databases-diagnostics.json src/data/databases.json
|
|
else
|
|
echo "Using committed databases.json (no artifact found)"
|
|
fi
|
|
- name: yarn build
|
|
working-directory: docs
|
|
run: |
|
|
yarn build
|
|
- name: deploy docs
|
|
uses: ./.github/actions/github-action-push-to-another-repository
|
|
env:
|
|
API_TOKEN_GITHUB: ${{ secrets.SUPERSET_SITE_BUILD }}
|
|
with:
|
|
source-directory: "./docs/build"
|
|
destination-github-username: "apache"
|
|
destination-repository-name: "superset-site"
|
|
target-branch: "asf-site"
|
|
commit-message: "deploying docs: ${{ github.event.head_commit.message || 'triggered by integration tests' }} (apache/superset@${{ github.event.workflow_run.head_sha || github.sha }})"
|
|
user-email: dev@superset.apache.org
|