Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Monodocs sphinx build #4347

Merged
merged 51 commits into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
f29663b
rename rsts to docs
cosmicBboy Jul 28, 2023
972ed62
update docs reqs
cosmicBboy Jul 28, 2023
fe45f3d
update reqs, styles
cosmicBboy Jul 28, 2023
b160f75
update doc requirements
cosmicBboy Aug 16, 2023
9a281b4
edit gitignore
cosmicBboy Aug 16, 2023
83db5ba
update doc requirement
cosmicBboy Oct 26, 2023
3c0af54
update doc requirements
cosmicBboy Oct 27, 2023
98b4191
update doc requirements
cosmicBboy Oct 27, 2023
9dccd8f
minor clean up
cosmicBboy Nov 1, 2023
027797c
update deps
cosmicBboy Nov 1, 2023
a29d3c6
use doc-requirements.in in .readthedocs.yml
cosmicBboy Nov 1, 2023
b641337
updates
cosmicBboy Nov 1, 2023
88b734b
check in new docs
cosmicBboy Nov 1, 2023
08b0f10
clean up most reference warnings
cosmicBboy Nov 2, 2023
39e3fbf
fix ref links
cosmicBboy Nov 13, 2023
f299f64
update auto examples
cosmicBboy Nov 13, 2023
013f314
add logic to find/replace invalid links
cosmicBboy Nov 21, 2023
35e231f
update docs with changes
cosmicBboy Nov 21, 2023
21afc4c
clean up toc list for deployment docs
cosmicBboy Nov 22, 2023
a010129
add back rsts
cosmicBboy Nov 22, 2023
7da4937
add readthedocs config for monodocs
cosmicBboy Nov 22, 2023
96110f2
incorporate changes from master
cosmicBboy Nov 22, 2023
6ea6738
reformat concepts section
cosmicBboy Nov 22, 2023
cd1475e
move monodocs readthedocs config
cosmicBboy Nov 22, 2023
5b884a5
debug readthedocs config
cosmicBboy Nov 22, 2023
f2bf93b
add monodocs requirements
cosmicBboy Nov 22, 2023
80539c8
update reqs
cosmicBboy Nov 22, 2023
921f73e
fix furo dep
cosmicBboy Nov 22, 2023
c9f9cd6
update logo
cosmicBboy Nov 22, 2023
81cae57
update logo
cosmicBboy Nov 23, 2023
59e6dad
update css
cosmicBboy Nov 23, 2023
7070727
update css
cosmicBboy Nov 23, 2023
f62247e
update sidebar caption styling
cosmicBboy Nov 23, 2023
70e46ea
update sidebar css
cosmicBboy Nov 25, 2023
ebb82b4
use conda to install monodocs deps
cosmicBboy Dec 1, 2023
81c5e49
Merge branch 'master' into monodocs
cosmicBboy Dec 1, 2023
7573375
update conda deps
cosmicBboy Dec 1, 2023
80d4f5a
update makefile docs target
cosmicBboy Dec 1, 2023
9cfcc6d
add furo dep to environment.yaml
cosmicBboy Dec 1, 2023
c538b3e
add retry dep
cosmicBboy Dec 1, 2023
e4db528
update vaex deps
cosmicBboy Dec 1, 2023
28f36a1
add graphviz to ci
cosmicBboy Dec 2, 2023
cf1ed7c
add graphviz to readthedocs config
cosmicBboy Dec 2, 2023
4d98504
Merge branch 'master' into monodocs
cosmicBboy Dec 4, 2023
7207336
support pointing to local flytekit, flytesnacks, flytectl
cosmicBboy Dec 4, 2023
b3ee93b
delete doc-requirements.txt - defer cleaning this up to followup PR
cosmicBboy Dec 4, 2023
0c0780e
revert doc-requirements.txt
cosmicBboy Dec 4, 2023
c4b9d8b
Merge branch 'master' into monodocs
cosmicBboy Dec 5, 2023
c9c5d15
Merge branch 'master' into monodocs
cosmicBboy Dec 5, 2023
142e058
Merge branch 'master' into monodocs
samhita-alla Dec 6, 2023
44e6728
Merge branch 'master' into monodocs
cosmicBboy Dec 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,26 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Fetch the code
uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
python-version: "3.8"
- name: Install dependencies
python-version: 3.9
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: The python version is already in monodocs-environment.yaml. Including it here will "override" the version in the environment yaml, so I think it's better to leave it out here:

Suggested change
python-version: 3.9

mamba-version: "*"
channels: conda-forge
channel-priority: true
activate-environment: monodocs-env
environment-file: monodocs-environment.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a follow up, I prefer to lock this environment as well. conda-incubator/setup-miniconda supports lock files: https://github.com/conda-incubator/setup-miniconda#example-7-lockfiles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gonna followup on this with a PR

- shell: bash -el {0}
run: |
python -m pip install --upgrade pip
if [ -f doc-requirements.txt ]; then pip install -r doc-requirements.txt; fi
conda info
conda list
conda config --show-sources
conda config --show
printenv | sort
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1
- name: Build the documentation
shell: bash -el {0}
run: make docs

generate_kustomize:
Expand Down
17 changes: 11 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ _repos/
_rsts/
rsts_tmp/
.doctrees/
docs/_sources/
docs/flytekit/flytekit.interfaces.html
docs/searchindex.js
docs/
!flyteidl/protos/docs
release/
__pycache__/
Expand All @@ -33,5 +29,14 @@ dist
*.db
vendor/
/docker/sandbox-bundled/images/tar
rsts/_tags/
**/bin/
**/bin/
docs/_tags/
docs/flytectl
docs/protos
docs/flytekit
docs/flytesnacks
docs/examples
docs/_src
docs/_projects
docs/api
docs/tests
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ sphinx:
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: doc-requirements.txt
- requirements: doc-requirements.in
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think using the pinned version .txt is safer for doc builds. Otherwise, we can have PRs that break from unrelated issues.

Copy link
Contributor Author

@cosmicBboy cosmicBboy Dec 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently this does not work, as pip-compile will add tensorflow-macos to the doc-requirements.txt file when I run it locally, which will not work on readthedocs build.

planning on using conda here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently, I do not see tensorflow-macos in doc-requirements.txt. Is this change still required?

planning on using conda here

Yes, Conda-lock will resolve this because it can lock a linux environment from a macos environment.

In any case, I am okay with merging this as is and fixing it later if doc builds become flaky.

4 changes: 2 additions & 2 deletions CHANGELOG/CHANGELOG-v0.13.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## Platform
- Oauth2 support with SingleSignOn and configuration examples for popular IDP's now available in Flyte.
Please see the updated [information and description of the feature](https://github.com/flyteorg/flyte/blob/master/rsts/howto/authentication/index.rst), and the [setup information](https://github.com/flyteorg/flyte/blob/master/rsts/howto/authentication/setup.rst)
**Attention: If using Auth already - this is a BREAKING change**. refer to the [migration guide](https://github.com/flyteorg/flyte/blob/master/rsts/howto/authentication/migration.rst) to update configuration to ensure Admin continues to work. (No migration needed if auth is not turned on.)
Please see the updated [information and description of the feature](https://github.com/flyteorg/flyte/blob/master/docs/howto/authentication/index.rst), and the [setup information](https://github.com/flyteorg/flyte/blob/master/docs/howto/authentication/setup.rst)
**Attention: If using Auth already - this is a BREAKING change**. refer to the [migration guide](https://github.com/flyteorg/flyte/blob/master/docs/howto/authentication/migration.rst) to update configuration to ensure Admin continues to work. (No migration needed if auth is not turned on.)

* Backend improvements to support dynamic workflow visualization (in future releases).
* Lot of features added to [flytectl](https://flytectl.readthedocs.io/en/latest/) .
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG/CHANGELOG-v1.3.0-b5.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ flytectl demo start --image ghcr.io/flyteorg/flyte-sandbox-bundled:sha-e240038be
```

### Databricks Code
You'll need to upload an [entrypoint](https://gist.github.com/pingsutw/482e7f0134414dac437500344bac5134) file to your dbfs (or S3). This is the referenced gist from the primary [Databricks plugin documentation](https://github.com/flyteorg/flyte/blob/master/rsts/deployment/plugin_setup/webapi/databricks.rst) as well, which currently only covers the `flyte-core` Helm chart installation.
You'll need to upload an [entrypoint](https://gist.github.com/pingsutw/482e7f0134414dac437500344bac5134) file to your dbfs (or S3). This is the referenced gist from the primary [Databricks plugin documentation](https://github.com/flyteorg/flyte/blob/master/docs/deployment/plugin_setup/webapi/databricks.rst) as well, which currently only covers the `flyte-core` Helm chart installation.


### User Code
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ include boilerplate/flyte/end2end/Makefile
include boilerplate/flyte/golang_test_targets/Makefile

define PIP_COMPILE
pip-compile $(1) --upgrade --verbose --resolver=backtracking
pip-compile $(1) --upgrade --verbose --resolver=backtracking --annotation-style=line
endef

GIT_VERSION := $(shell git describe --always --tags)
Expand Down Expand Up @@ -81,7 +81,7 @@ helm_upgrade: ## Upgrade helm charts

.PHONY: docs
docs:
make -C rsts clean html SPHINXOPTS=-W
make -C docs clean html SPHINXOPTS=-W

.PHONY: help
help: SHELL := /bin/sh
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
1. Open [issues](https://github.com/flyteorg/flyte/issues) and filter by milestone and make sure they are either closed or moved over to the next milestone.
## Start a release PR
1. Run [Generate Flyte Manifests workflow](https://github.com/flyteorg/flyte/actions/workflows/generate_flyte_manifest.yml). It’ll create a PR ([example](https://github.com/flyteorg/flyte/pull/888))
1. Update [docs version](https://github.com/flyteorg/flyte/blob/master/rsts/conf.py#L33) to match the milestone version.
1. Update [docs version](https://github.com/flyteorg/flyte/blob/master/docs/conf.py#L33) to match the milestone version.
1. Create a CHANGELOG file ([example](https://github.com/flyteorg/flyte/pull/888/files#diff-0c33dda4ecbd7e1116ddce683b5e143d85b22e43223ca258ecc571fb3b240a57))
1. Wait for endtoend tests to finish then Merge PR.
## Create a release
Expand Down
200 changes: 54 additions & 146 deletions doc-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,153 +1,61 @@
#
# This file is autogenerated by pip-compile with Python 3.9
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile doc-requirements.in
# pip-compile --annotation-style=line doc-requirements.in
#
alabaster==0.7.13
# via sphinx
astroid==2.15.6
# via sphinx-autoapi
babel==2.12.1
# via sphinx
beautifulsoup4==4.12.2
# via
# furo
# sphinx-code-include
certifi==2023.7.22
# via requests
cfgv==3.4.0
# via pre-commit
charset-normalizer==3.2.0
# via requests
codespell==2.2.6
# via -r doc-requirements.in
distlib==0.3.7
# via virtualenv
docutils==0.17.1
# via
# sphinx
# sphinx-panels
# sphinx-tabs
filelock==3.12.4
# via virtualenv
furo @ git+https://github.com/flyteorg/furo@main
# via -r doc-requirements.in
identify==2.5.29
# via pre-commit
idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==6.8.0
# via sphinx
jinja2==3.0.3
# via
# sphinx
# sphinx-autoapi
# sphinx-tabs
lazy-object-proxy==1.9.0
# via astroid
markupsafe==2.1.3
# via jinja2
nodeenv==1.8.0
# via pre-commit
packaging==23.1
# via sphinx
platformdirs==3.10.0
# via virtualenv
pre-commit==3.4.0
# via sphinx-tags
pygments==2.16.1
# via
# furo
# sphinx
# sphinx-prompt
# sphinx-tabs
pyyaml==6.0.1
# via
# pre-commit
# sphinx-autoapi
requests==2.31.0
# via
# sphinx
# sphinxcontrib-youtube
six==1.16.0
# via
# sphinx-code-include
# sphinxext-remoteliteralinclude
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.5
# via beautifulsoup4
sphinx==4.5.0
# via
# -r doc-requirements.in
# furo
# sphinx-autoapi
# sphinx-basic-ng
# sphinx-code-include
# sphinx-copybutton
# sphinx-fontawesome
# sphinx-issues
# sphinx-panels
# sphinx-prompt
# sphinx-tabs
# sphinx-tags
# sphinxcontrib-video
# sphinxcontrib-youtube
sphinx-autoapi==2.0.1
# via -r doc-requirements.in
sphinx-basic-ng==1.0.0b2
# via furo
sphinx-code-include==1.1.1
# via -r doc-requirements.in
sphinx-copybutton==0.5.2
# via -r doc-requirements.in
sphinx-fontawesome==0.0.6
# via -r doc-requirements.in
sphinx-issues==3.0.1
# via -r doc-requirements.in
sphinx-panels==0.6.0
# via -r doc-requirements.in
sphinx-prompt==1.5.0
# via -r doc-requirements.in
sphinx-tabs==3.4.0
# via -r doc-requirements.in
sphinx-tags==0.2.1
# via -r doc-requirements.in
sphinxcontrib-applehelp==1.0.4
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.1
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-mermaid==0.9.2
# via -r doc-requirements.in
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
sphinxcontrib-video==0.2.0
# via -r doc-requirements.in
sphinxcontrib-youtube==1.2.0
# via -r doc-requirements.in
sphinxext-remoteliteralinclude==0.4.0
# via -r doc-requirements.in
typing-extensions==4.8.0
# via astroid
unidecode==1.3.6
# via sphinx-autoapi
urllib3==2.0.6
# via requests
virtualenv==20.24.5
# via pre-commit
wrapt==1.15.0
# via astroid
zipp==3.17.0
# via importlib-metadata
alabaster==0.7.13 # via sphinx
astroid==3.0.1 # via sphinx-autoapi
babel==2.13.1 # via sphinx
beautifulsoup4==4.12.2 # via furo, sphinx-code-include
certifi==2023.11.17 # via requests
cfgv==3.4.0 # via pre-commit
charset-normalizer==3.3.2 # via requests
codespell==2.2.6 # via -r doc-requirements.in
distlib==0.3.7 # via virtualenv
docutils==0.17.1 # via sphinx, sphinx-panels, sphinx-tabs
filelock==3.13.1 # via virtualenv
furo @ git+https://github.com/flyteorg/furo@main # via -r doc-requirements.in
identify==2.5.32 # via pre-commit
idna==3.6 # via requests
imagesize==1.4.1 # via sphinx
jinja2==3.0.3 # via sphinx, sphinx-autoapi, sphinx-tabs
markupsafe==2.1.3 # via jinja2
nodeenv==1.8.0 # via pre-commit
packaging==23.2 # via sphinx
platformdirs==4.1.0 # via virtualenv
pre-commit==3.5.0 # via sphinx-tags
pygments==2.17.2 # via furo, sphinx, sphinx-prompt, sphinx-tabs
pyyaml==6.0.1 # via pre-commit, sphinx-autoapi
requests==2.31.0 # via sphinx, sphinxcontrib-youtube
six==1.16.0 # via sphinx-code-include, sphinxext-remoteliteralinclude
snowballstemmer==2.2.0 # via sphinx
soupsieve==2.5 # via beautifulsoup4
sphinx==4.5.0 # via -r doc-requirements.in, furo, sphinx-autoapi, sphinx-basic-ng, sphinx-code-include, sphinx-copybutton, sphinx-fontawesome, sphinx-issues, sphinx-panels, sphinx-prompt, sphinx-tabs, sphinx-tags, sphinxcontrib-video, sphinxcontrib-youtube, sphinxext-remoteliteralinclude
sphinx-autoapi==2.0.1 # via -r doc-requirements.in
sphinx-basic-ng==1.0.0b2 # via furo
sphinx-code-include==1.1.1 # via -r doc-requirements.in
sphinx-copybutton==0.5.2 # via -r doc-requirements.in
sphinx-fontawesome==0.0.6 # via -r doc-requirements.in
sphinx-issues==3.0.1 # via -r doc-requirements.in
sphinx-panels==0.6.0 # via -r doc-requirements.in
sphinx-prompt==1.5.0 # via -r doc-requirements.in
sphinx-tabs==3.4.0 # via -r doc-requirements.in
sphinx-tags==0.2.1 # via -r doc-requirements.in
sphinxcontrib-applehelp==1.0.4 # via sphinx
sphinxcontrib-devhelp==1.0.2 # via sphinx
sphinxcontrib-htmlhelp==2.0.1 # via sphinx
sphinxcontrib-jsmath==1.0.1 # via sphinx
sphinxcontrib-mermaid==0.9.2 # via -r doc-requirements.in
sphinxcontrib-qthelp==1.0.3 # via sphinx
sphinxcontrib-serializinghtml==1.1.5 # via sphinx
sphinxcontrib-video==0.2.0 # via -r doc-requirements.in
sphinxcontrib-youtube==1.2.0 # via -r doc-requirements.in
sphinxext-remoteliteralinclude==0.4.0 # via -r doc-requirements.in
typing-extensions==4.8.0 # via astroid
unidecode==1.3.7 # via sphinx-autoapi
urllib3==2.1.0 # via requests
virtualenv==20.25.0 # via pre-commit

# The following packages are considered to be unsafe in a requirements file:
# setuptools
17 changes: 17 additions & 0 deletions docs/.readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# .readthedocs.yml
cosmicBboy marked this conversation as resolved.
Show resolved Hide resolved
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "mambaforge-22.9"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

conda:
environment: monodocs-environment.yaml
23 changes: 23 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = flyte
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

clean:
rm -rf _build _src api flytectl flytekit flytesnacks protos examples
Empty file added docs/_ext/__init__.py
Empty file.
Loading
Loading