Enable mypy for langgraph lib #3073
Workflow file for this run
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: Deploy Docs | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
env: | |
POETRY_VERSION: "1.7.1" | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python + Poetry ${{ env.POETRY_VERSION }} | |
uses: "./.github/actions/poetry_setup" | |
with: | |
python-version: "3.12" | |
poetry-version: ${{ env.POETRY_VERSION }} | |
cache-key: docs | |
- name: Install dependencies | |
run: | | |
poetry install --with docs | |
poetry run pip install -U pytest pytest-check-links langsmith langchain GitPython | |
- name: Build site | |
run: make build-docs | |
env: | |
MKDOCS_GIT_COMMITTERS_APIKEY: ${{ secrets.MKDOCS_GIT_COMMITTERS_APIKEY }} | |
- name: Check links in notebooks | |
env: | |
LANGCHAIN_API_KEY: test | |
run: | | |
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ] || ([ "${{ github.event_name }}" == "push" ] && [ "${{ github.ref }}" == "refs/heads/main" ]); then | |
echo "Running link check on all HTML files matching notebooks in docs directory..." | |
poetry run pytest -v \ | |
--check-links-ignore "https://(api|web|docs)\.smith\.langchain\.com/.*" \ | |
--check-links-ignore "https://x.com/.*" \ | |
--check-links-ignore "https://github\.com/.*" \ | |
--check-links-ignore "/.*\.(ipynb|html)$" \ | |
--check-links $(find docs/site -name "index.html" | grep -v 'storm/index.html') | |
else | |
echo "Fetching changes from origin/main..." | |
git fetch origin main | |
echo "Checking for changed notebook files..." | |
CHANGED_FILES=$(git diff --name-only --diff-filter=d origin/main | grep 'docs/docs/.*\.ipynb$' | grep -v 'storm.ipynb' | sed -E 's|^docs/docs/|docs/site/|; s/\.ipynb$/\/index.html/' || true) | |
echo "Changed files: ${CHANGED_FILES}" | |
if [ -n "${CHANGED_FILES}" ]; then | |
echo "Running link check on HTML files matching changed notebook files..." | |
poetry run pytest -v \ | |
--check-links-ignore "https://(api|web|docs)\.smith\.langchain\.com/.*" \ | |
--check-links-ignore "https://x.com/.*" \ | |
--check-links-ignore "https://github\.com/.*" \ | |
--check-links-ignore "/.*\.(ipynb|html)$" \ | |
--check-links ${CHANGED_FILES} \ | |
|| ([ $? = 5 ] && exit 0 || exit $?) | |
else | |
echo "No notebook files changed." | |
fi | |
fi | |
- name: Configure GitHub Pages | |
if: github.ref == 'refs/heads/main' | |
uses: actions/configure-pages@v4 | |
- name: Upload Pages Artifact | |
if: github.ref == 'refs/heads/main' | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./docs/site/ | |
- name: Deploy to GitHub Pages | |
if: github.ref == 'refs/heads/main' | |
id: deployment | |
uses: actions/deploy-pages@v4 |