-
Notifications
You must be signed in to change notification settings - Fork 97
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
Unified documentation for repo #993
Conversation
* Formatting fixes * Add push key * [skip ci] Automatic style fix for droidlet * Use bot as id for pushes * Depend on minecraft so workspace is updated with droidlet docs * Main branch only * Install awscli Co-authored-by: Yuxuan Sun <yuxuans@fb.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great in general!
Cmiiw, the current workflow within .circleci/config.yml
for adding a documentation of a new project looks like: build docs into a folder -> copy html files to doc directory /tmp/workspace/docs/project_name
-> persisting that doc directory.
Is it possible to deduplicate these steps across different packages by maybe having a command to complete these actions automatically assuming the env has been set up and that docs are placed in fairo/project_name/docs
?
To be clear, the config for a project would look something like:
jobs:
...
project_name:
...
steps:
- checkout
- run:
name: Setup env & install project
...
- run:
name: Run tests
...
- build_and_register_docs
Thus adding docs for a new project becomes a simple task of correctly placing sphinx source files and adding a single command to the CircleCI config.
2a05b67
to
b564f2a
Compare
Codecov Report
@@ Coverage Diff @@
## main #993 +/- ##
==========================================
+ Coverage 33.16% 33.23% +0.06%
==========================================
Files 346 347 +1
Lines 34034 34279 +245
==========================================
+ Hits 11286 11391 +105
- Misses 22748 22888 +140
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, approving to unblock merging, but feel free to wait for other reviewers since this change affects multiple projects.
Thanks!
Description
Unifies documentation for all projects in the repo under facebookresearch.github.io/fairo.
Added droidlet autogenerated documentation in CircleCI.
Note:
I considered using a single Sphinx installation for all projects, but each project requires setting up its own environment in order to properly auto-generate docs from code comments. I think a more sustainable model is having each project generate its own docs and persist that in a CircleCI Workspace, following the model in this blogpost. All projects' docs get aggregated in the final CI job and published to
gh-pages
, with a single entrypointindex.html
for Fairo itself.Once we have a single conda environment containing all fairo projects, then we can move to a single Sphinx install; this is out of scope for this PR.
TODO:
Improve rootindex.html
-- currently very plainUnified Sphinx theme?Future PR:
Type of requested review
Before and After
Testing
Copy generated docs into
docs/project-name
, then host a webserver serving this folder (e.g.python -m http.server
).Checklist:
tests/scripts
, (2) asv benchmarks.