diff --git a/.github/workflows/sphinx_build.yml b/.github/workflows/sphinx_build.yml new file mode 100644 index 0000000000..900b7e0df8 --- /dev/null +++ b/.github/workflows/sphinx_build.yml @@ -0,0 +1,38 @@ +name: Build & Generate Documentation + +on: + pull_request: + branches: + - master + +defaults: + run: + working-directory: cookbook + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Fetch the code + uses: actions/checkout@v2 + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: "3.8" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f docs-requirements.txt ]; then pip install -r docs-requirements.txt; fi + - name: Build the documentation + run: | + cd docs/ + sphinx-build -b html . _build + - name: Tar HTML files + run: tar -czvf docfiles.tar docs/_build/ + - name: Archive HTML files + uses: actions/upload-artifact@v2 + with: + name: docs-html-files + path: cookbook/docfiles.tar + retention-days: 2 diff --git a/.readthedocs.yml b/.readthedocs.yml index fa3ee1d6e7..0f39c8f0b0 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -14,3 +14,5 @@ python: version: 3.8 install: - requirements: cookbook/dev-requirements.txt + - requirements: cookbook/docs-requirements.txt + \ No newline at end of file diff --git a/cookbook/docs-requirements.in b/cookbook/docs-requirements.in index c557f0b798..877703a6f7 100644 --- a/cookbook/docs-requirements.in +++ b/cookbook/docs-requirements.in @@ -11,3 +11,5 @@ sphinx-copybutton sphinxext-remoteliteralinclude docutils==0.16 astroid==2.4.2 +matplotlib +flytekit diff --git a/cookbook/docs-requirements.txt b/cookbook/docs-requirements.txt index 9aeeac277d..193aa5eb4a 100644 --- a/cookbook/docs-requirements.txt +++ b/cookbook/docs-requirements.txt @@ -10,6 +10,8 @@ astroid==2.4.2 # via # -r docs-requirements.in # sphinx-autoapi +attrs==21.2.0 + # via scantree babel==2.9.1 # via sphinx beautifulsoup4==4.9.3 @@ -20,50 +22,142 @@ certifi==2020.12.5 # via requests chardet==4.0.0 # via requests +click==7.1.2 + # via flytekit +croniter==1.0.13 + # via flytekit +cycler==0.10.0 + # via matplotlib +dataclasses-json==0.5.3 + # via flytekit +decorator==5.0.9 + # via retry +deprecated==1.2.12 + # via flytekit +dirhash==0.2.1 + # via flytekit +docker-image-py==0.1.10 + # via flytekit docutils==0.16 # via # -r docs-requirements.in # sphinx # sphinx-rtd-theme +flyteidl==0.18.44 + # via flytekit +flytekit==0.18.0 + # via -r docs-requirements.in git+git://github.com/flyteorg/furo@main # via -r docs-requirements.in +grpcio==1.38.0 + # via flytekit idna==2.10 # via requests imagesize==1.2.0 # via sphinx +importlib-metadata==4.0.1 + # via keyring jinja2==2.11.3 # via # sphinx # sphinx-autoapi +keyring==23.0.1 + # via flytekit +kiwisolver==1.3.1 + # via matplotlib lazy-object-proxy==1.4.3 # via astroid markupsafe==1.1.1 # via jinja2 +marshmallow-enum==1.5.1 + # via dataclasses-json +marshmallow==3.12.1 + # via + # dataclasses-json + # marshmallow-enum +matplotlib==3.4.2 + # via -r docs-requirements.in +mypy-extensions==0.4.3 + # via typing-inspect +natsort==7.1.1 + # via flytekit +numpy==1.20.3 + # via + # matplotlib + # pandas + # pyarrow packaging==20.9 # via sphinx +pandas==1.2.4 + # via flytekit +pathspec==0.8.1 + # via scantree pillow==8.2.0 - # via -r docs-requirements.in + # via + # -r docs-requirements.in + # matplotlib +protobuf==3.17.0 + # via + # flyteidl + # flytekit +py==1.10.0 + # via retry +pyarrow==3.0.0 + # via flytekit pygments==2.9.0 # via # sphinx # sphinx-prompt pyparsing==2.4.7 - # via packaging -pytz==2021.1 - # via babel + # via + # matplotlib + # packaging +python-dateutil==2.8.1 + # via + # croniter + # flytekit + # matplotlib + # pandas +pytimeparse==1.1.8 + # via flytekit +pytz==2018.4 + # via + # babel + # flytekit + # pandas pyyaml==5.4.1 # via sphinx-autoapi readthedocs-sphinx-search==0.1.0 # via -r docs-requirements.in +regex==2021.4.4 + # via docker-image-py requests==2.25.1 - # via sphinx + # via + # flytekit + # responses + # sphinx +responses==0.13.3 + # via flytekit +retry==0.9.2 + # via flytekit +scantree==0.0.1 + # via dirhash six==1.16.0 # via # astroid + # cycler + # flytekit + # grpcio + # protobuf + # python-dateutil + # responses + # scantree # sphinx-code-include # sphinxext-remoteliteralinclude snowballstemmer==2.1.0 # via sphinx +sortedcontainers==2.4.0 + # via flytekit soupsieve==2.2.1 # via beautifulsoup4 sphinx-autoapi==1.8.1 @@ -103,12 +197,30 @@ sphinxcontrib-serializinghtml==1.1.4 # via sphinx sphinxext-remoteliteralinclude==0.2.0 # via -r docs-requirements.in +statsd==3.3.0 + # via flytekit +stringcase==1.2.0 + # via dataclasses-json +typing-extensions==3.10.0.0 + # via typing-inspect +typing-inspect==0.6.0 + # via dataclasses-json unidecode==1.2.0 # via sphinx-autoapi -urllib3==1.26.4 - # via requests +urllib3==1.25.11 + # via + # flytekit + # requests + # responses +wheel==0.36.2 + # via flytekit wrapt==1.12.1 - # via astroid + # via + # astroid + # deprecated + # flytekit +zipp==3.4.1 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools