name: Publish docs on: workflow_dispatch: workflow_call: secrets: DOCS_DEPLOY_AWS_ACCESS_KEY: {} DOCS_DEPLOY_AWS_API_SECRET: {} jobs: docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: submodules: true lfs: true - name: Set up Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.12" - name: Install uv uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 with: enable-cache: true cache-dependency-glob: "uv.lock" - name: Install package, plugins, and docs dependencies run: | uv sync --all-extras --group docs - name: Build HTML Docs run: | uv run --active pdoc --skip-errors --html --output-dir=docs livekit - name: Build Markdown Docs run: | uv run --active python .github/convert_html_docs.py docs/ docs-md -v --check-links - name: S3 Upload run: | aws s3 sync --delete docs/ s3://livekit-docs/python aws s3 sync --delete docs-md/ s3://livekit-docs/python-md env: AWS_ACCESS_KEY_ID: ${{ secrets.DOCS_DEPLOY_AWS_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.DOCS_DEPLOY_AWS_API_SECRET }} AWS_DEFAULT_REGION: "us-east-1" - name: Expire cloudfront cache run: | aws cloudfront create-invalidation --distribution-id EJJ40KLJ3TRY9 --paths "/python/*" "/python-md/*" env: AWS_ACCESS_KEY_ID: ${{ secrets.DOCS_DEPLOY_AWS_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.DOCS_DEPLOY_AWS_API_SECRET }} AWS_DEFAULT_REGION: "us-east-1"