Skip to content

docs(managed-datahub): restructure OSS vs Cloud comparison guide #53305

docs(managed-datahub): restructure OSS vs Cloud comparison guide

docs(managed-datahub): restructure OSS vs Cloud comparison guide #53305

Workflow file for this run

name: documentation
on:
pull_request:
branches:
- "**"
paths:
- ".github/workflows/documentation.yml"
- "metadata-ingestion/**"
- "metadata-models/**"
- "docs/**"
- "docs-website/**"
push:
branches:
- master
paths:
- ".github/workflows/documentation.yml"
- "metadata-ingestion/**"
- "metadata-models/**"
- "docs/**"
- "docs-website/**"
# release:
# types: [published, edited]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
gh-pages:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# We explicitly don't use acryldata/sane-checkout-action because docusaurus runs
# git commands to determine the last change date for each file.
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Set up JDK 21
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
with:
distribution: "zulu"
java-version: 21
- uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: "3.10"
# Restore always; save only from master (below) so PR runs stop minting per-PR
# copies of this shared key. Key hashes the manifests that actually determine the
# uv cache contents — the old '**/requirements.txt' matched 13 unrelated files and
# none of them.
- uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
id: uv-cache
with:
path: |
~/.cache/uv
key: ${{ runner.os }}-uv-${{ hashFiles('metadata-ingestion/setup.py', 'metadata-ingestion/pyproject.toml', 'metadata-ingestion/uv.lock', 'metadata-ingestion/constraints.txt', 'metadata-ingestion/build-constraints.txt') }}
restore-keys: |
${{ runner.os }}-uv-
- name: Install Python dependencies
run: ./metadata-ingestion/scripts/install_deps.sh
- name: Run tests
run: |
./gradlew --info :metadata-ingestion:testScripts
- name: Report test results
if: (!cancelled())
uses: ./.github/actions/report-test-results
with:
artifact-name: metadata-ingestion-scripts-test-results
test-results-paths: "metadata-ingestion/scripts/test-results/**"
junit-file-globs: "metadata-ingestion/scripts/test-results/*.xml"
- name: Build Docs
run: |
./gradlew --info docs-website:build
# Success-only: a partial cache from a failed run would occupy the exact key
# until the manifests next change; the next master push retries instead.
- name: Save uv cache (master only)
if: github.ref == 'refs/heads/master' && steps.uv-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.cache/uv
key: ${{ runner.os }}-uv-${{ hashFiles('metadata-ingestion/setup.py', 'metadata-ingestion/pyproject.toml', 'metadata-ingestion/uv.lock', 'metadata-ingestion/constraints.txt', 'metadata-ingestion/build-constraints.txt') }}
- name: Deploy
if: github.event_name == 'push' && github.repository == 'datahub-project/datahub'
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs-website/build
cname: datahubproject.io
# The gh-pages branch stores the built docs site. We don't need to preserve
# the full history of the .html files, since they're generated from our
# source files. Doing so significantly reduces the size of the repo's .git dir.
force_orphan: true