API docs build #64
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: API docs build | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 13 * * *' | |
env: | |
POETRY_VERSION: "1.8.1" | |
PYTHON_VERSION: "3.11" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: langchain | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-api-docs-html | |
path: langchain-api-docs-html | |
token: ${{ secrets.TOKEN_GITHUB_API_DOCS_HTML }} | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-google | |
path: langchain-google | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-datastax | |
path: langchain-datastax | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-nvidia | |
path: langchain-nvidia | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-cohere | |
path: langchain-cohere | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-elastic | |
path: langchain-elastic | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-postgres | |
path: langchain-postgres | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-aws | |
path: langchain-aws | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-weaviate | |
path: langchain-weaviate | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-ai21 | |
path: langchain-ai21 | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-together | |
path: langchain-together | |
- uses: actions/checkout@v4 | |
with: | |
repository: langchain-ai/langchain-experimental | |
path: langchain-experimental | |
- name: Set Git config | |
working-directory: langchain | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "Github Actions" | |
- name: Move google libs | |
run: | | |
rm -rf \ | |
langchain/libs/partners/google-genai \ | |
langchain/libs/partners/google-vertexai \ | |
langchain/libs/partners/astradb \ | |
langchain/libs/partners/nvidia-trt \ | |
langchain/libs/partners/nvidia-ai-endpoints \ | |
langchain/libs/partners/cohere \ | |
langchain/libs/partners/elasticsearch \ | |
langchain/libs/partners/upstage \ | |
langchain/libs/partners/ai21 \ | |
langchain/libs/partners/together \ | |
langchain/libs/standard-tests \ | |
langchain/libs/experimental | |
mv langchain-google/libs/genai langchain/libs/partners/google-genai | |
mv langchain-google/libs/vertexai langchain/libs/partners/google-vertexai | |
mv langchain-google/libs/community langchain/libs/partners/google-community | |
# mv langchain-datastax/libs/astradb langchain/libs/partners/astradb | |
# mv langchain-nvidia/libs/ai-endpoints langchain/libs/partners/nvidia-ai-endpoints | |
mv langchain-cohere/libs/cohere langchain/libs/partners/cohere | |
mv langchain-elastic/libs/elasticsearch langchain/libs/partners/elasticsearch | |
mv langchain-postgres langchain/libs/partners/postgres | |
mv langchain-aws/libs/aws langchain/libs/partners/aws | |
mv langchain-weaviate/libs/weaviate langchain/libs/partners/weaviate | |
mv langchain-ai21/libs/ai21 langchain/libs/partners/ai21 | |
mv langchain-together/libs/together langchain/libs/partners/together | |
mv langchain-experimental/libs/experimental langchain/libs/experimental | |
- name: Rm old html | |
run: | |
rm -rf langchain-api-docs-html/api_reference_build/html | |
- name: Set up Python ${{ env.PYTHON_VERSION }} + Poetry ${{ env.POETRY_VERSION }} | |
uses: "./langchain/.github/actions/poetry_setup" | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
poetry-version: ${{ env.POETRY_VERSION }} | |
cache-key: api-docs | |
working-directory: langchain | |
- name: Install dependencies | |
working-directory: langchain | |
run: | | |
python -m pip install -U uv | |
python -m uv pip install --upgrade --no-cache-dir pip setuptools | |
# skip airbyte and ibm due to pandas dependency issue | |
python -m uv pip install $(ls ./libs/partners | grep -vE "airbyte|ibm" | xargs -I {} echo "./libs/partners/{}") | |
python -m uv pip install libs/core libs/langchain libs/text-splitters libs/community libs/experimental | |
python -m uv pip install -r docs/api_reference/requirements.txt | |
- name: Build docs | |
working-directory: langchain | |
run: | | |
python docs/api_reference/create_api_rst.py | |
python -m sphinx -T -E -b html -d ../langchain-api-docs-html/_build/doctrees -c docs/api_reference docs/api_reference ../langchain-api-docs-html/api_reference_build/html -j auto | |
python docs/api_reference/scripts/custom_formatter.py ../langchain-api-docs-html/api_reference_build/html | |
# Default index page is blank so we copy in the actual home page. | |
cp ../langchain-api-docs-html/api_reference_build/html/{reference,index}.html | |
rm -rf ../langchain-api-docs-html/_build/ | |
# https://github.com/marketplace/actions/add-commit | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
cwd: langchain-api-docs-html | |
message: 'Update API docs build' |