Build and Upload HTML API Documentation#18
Build and Upload HTML API Documentation#18thunderbiscuit merged 11 commits intobitcoindevkit:masterfrom
Conversation
| - name: "Upload API Docs" | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: bdkpython-macos-x86_64-${{ matrix.python }} |
There was a problem hiding this comment.
nit: add -api-docs because it looks like that's the pattern you're using in other places?
thunderbiscuit
left a comment
There was a problem hiding this comment.
Works great for me locally!
I have 2 requests:
- I think we can simplify the workflow a lot because building for all versions is not something we need. You don't need the matrix in this case, and you can build it just on the ubuntu-24.04 machine, which is I assume the fastest. The uploaded artifact I'll just PR on the bitcoindevkit.org website.
- Can you add a justfile command to build the docs locally?
This is really cool stuff!
|
And yes @reez I'd be ok with this closing #11. It won't automatically publish the docs, but I can do that later. In fact, I wonder if we should just publish those here as GitHub pages instead of on the website. That could be something we expect some of those libraries developed outside of bdk-ffi to do? This could be done automatically in the action and triggered manually on tags (but we can leave that for a further PR). |
Sweet |
|
Great!
I look forward to your feedback before proceeding with the changes. |
|
Yes to both your points above @mg-twentyone! We just need to build the docs to create the html files I'll add to the pages manually, so building only once makes sense, and for now I don't intend on making the deployment to bitcoindevkit.org automated, so that can also wait for a further PR. If we instead decide to just publish on the github pages of this repo, then that step should be easy to add in a further PR as well! In other words, just generating the artifact is perfect for now. |
Description
This PR adds the feature to build and upload the documentation for bdk-python. Sphinx is used as docs generator and sphinx_rtd_theme is utilized as the theme template.
CI: a new workflow has been implemented to manage the building and uploading process. A workflow_dispatch event trigger is set up; next improvement could be to add an trigger handler for external event when a new PR is merged in the bdk-ffi library.
Minor: small css modifications have been applied to the sphinx theme to improve readability.
Fixes #11
Notes to the reviewers
CI workflow's structure maintains coherence with other worflows to ensure cross-os compatibility. For the macos-arm64 job, the github runners VM has been updated from macos-13 to macos-14 to ensure compatibility with the arm64 architecture (github runners macos-13 vm runs on Intel architecture; check it here).
Changelog notice
Checklists
All Submissions:
cargo fmtandcargo clippybefore committingNew Features:
Bugfixes: