-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
CDK: Autogenerate reference docs #4759
Conversation
@yevhenii-ldv what's the best way to preview these docs locally so I can do an effective review? Also, could you add a README/section in the CDK on how to manage docs? are they autogenerated? what do i need to run in order to generate them when code changes are made to the CDK? once PR is approved we'll need to |
ykurochkin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
…generate-reference-docs
Add .readthedocs.yaml file. Update build html files.
Remove sphinx build files.
Generated docs example https://airbyte-cdk.readthedocs.io/en/latest/ |
Update .readthedocs.yaml config.
Add Makefile rst config.
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.
Why do we need airbyte-cdk/python/dist/airbyte_cdk-0.1.25-py3.7.egg
?
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.
Can you add a docs section about how to update/iterate on this documentation? What does a developer on the CDK need to know to quickly update the docs and publish them? How can they preview their changes without publishing them to readthedocs?
Update index.rst. Update abstract_source.py docstrings.
I've added a doc section. Please, check if you think it should be ok for now. |
It may be published by the readthedocs trigger. And it's pretty easy to do, just go there https://readthedocs.org/dashboard/airbyte-cdk/integrations/ and enable the github webhook. I can't do it as it requires owner github permissions. I suggest to first merge this PR to master, then I'll update the configurations for the production stage and then you will be able to just go to https://readthedocs.org/dashboard/airbyte-cdk/integrations/ and click on "Resync webhook" button. That would work, to rebuild the docs on each push to master. Tested with my personal repo. |
Add docs schema enerator script. Update sphinx docs.
@sherifnada review pls. I've also tried to add the pre-commit hook to prevent generating docs with outdated schemas. But that would require us to install main and sphinx-docs requirements from the airbyte-cdk package, which may make the pre-commit unusable in most cases. Other options are:
|
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.
a few small comments then free to merge
Replace sphinx-docs.md to `airbyte-cdk` module.
…generate-reference-docs
Update CHANGELOG.md.
* CDK Autogenerated reference docs: base version * Update docs config. Add .readthedocs.yaml file. Update build html files. * Update .gitignore. Remove sphinx build files. * Add newline at the end of .gitignore * Update setup.py requirements. Update .readthedocs.yaml config. * Update rst files. Add Makefile rst config. * Update CDK docstring format. Change rst layout. Update sphinx config. * Add Sphinx docs. Update index.rst. Update abstract_source.py docstrings. * Override master_doc and package templates. Add docs schema enerator script. Update sphinx docs. * Add `Publishing to Read the Docs` section to sphinx-docs.md". Replace sphinx-docs.md to `airbyte-cdk` module. * Update sphinx-docs.md section name * Bump airbyte-cdk version. Update CHANGELOG.md. Co-authored-by: ykurochkin <[email protected]> Co-authored-by: Vadym Hevlich <[email protected]>
What
closes #2761.
How
Using SphinX library v4.1.0
Recommended reading order
x.java
y.python
Pre-merge Checklist
Expand the checklist which is relevant for this PR.
Connector checklist
airbyte_secret
in the connector's spec./gradlew :airbyte-integrations:connectors:<name>:integrationTest
./test connector=connectors/<name>
command as documented here is passing.README.md
docs/SUMMARY.md
if it's a new connectordocs/integrations/<source or destination>/<name>
.docs/integrations/...
. See changelog exampledocs/integrations/README.md
contains a reference to the new connector/publish
command described hereConnector Generator checklist
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changes