ci: add pdoc3 docs workflow and simplify release-drafter#12
Merged
Aaron ("AJ") Steers (aaronsteers) merged 10 commits intoJan 18, 2026
Merged
Conversation
- Update release-drafter.yml with newer action versions (checkout@v6, setup-python@v6) - Update semantic-pr-release-drafter to v0.3.1 - Add docs-generate.yml workflow for pdoc3 documentation with GitHub Pages deployment - Update poe_tasks.toml with pdoc3 docs tasks (docs-generate, docs-preview, get-generated-docs-dir) - Add pdoc3 to dev dependencies in pyproject.toml Co-Authored-By: AJ Steers <aj@airbyte.io>
Contributor
Original prompt from AJ Steers |
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
🎉 Thanks for opening this pull request! Your contribution is appreciated. Here are some helpful commands you can use: Quick Commands
Available Poe TasksYou can run any of these tasks using the slash command: Core Tasks
Quick Fixes
Build & Install
Other Commands
The CI will automatically run tests when you push commits. Happy coding! 🚀 |
- Remove redundant if condition (workflow only triggers on push to main) - Combine wheel and sdist upload steps into single step using dist/* glob - Remove verbose comments and echo statements Co-Authored-By: AJ Steers <aj@airbyte.io>
- Move version resolution (remove 'v' prefix) to first job during draft creation - Move 'Delete existing release assets' to be the first step of upload job - Use version output from first job instead of extracting in second job - Remaining 5 steps in upload job: checkout, install uv, setup python, build, upload Co-Authored-By: AJ Steers <aj@airbyte.io>
uv can download and manage Python installations itself, so we don't need the separate setup-python step. This simplifies the workflow to just 4 steps in the upload job: delete assets, checkout, install uv, build, upload. Co-Authored-By: AJ Steers <aj@airbyte.io>
Merge the two separate jobs into one unified job: - Eliminates job dependency overhead - All steps now run in sequence within one job - 7 steps total: draft release, resolve version, delete assets, checkout, install uv, build, upload Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
Remove separate 'Resolve version from tag' step by using bash parameter
expansion inline in the build step: UV_DYNAMIC_VERSIONING_BYPASS="${TAG_NAME#v}"
This reduces the workflow from 7 steps to 6 steps.
Co-Authored-By: AJ Steers <aj@airbyte.io>
- Move 'env' before 'run' in Build package step - Move 'Install uv' before 'Checkout Repo' step Co-Authored-By: AJ Steers <aj@airbyte.io>
Change from dist/* to dist/*.{whl,tar.gz} to only upload wheel and
sdist files, excluding the .gitignore file that uv/hatchling creates.
Co-Authored-By: AJ Steers <aj@airbyte.io>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the pdoc3 documentation workflow from aaronsteers/awesome-python-template and significantly simplifies the release-drafter workflow.
Changes:
docs-generate.ymlworkflow for pdoc3 documentation with GitHub Pages deploymentrelease-drafter.ymlfrom two jobs to a single unified jobpoe_tasks.tomlwith actual pdoc3 commandsRelease-drafter simplifications:
update_release_draftandupload_release_assetsinto singledraft_releasejobsetup-pythonstep (uv manages its own Python installation)dist/*globReview & Testing Checklist for Human
uv buildworks without explicit Python setup in CIuv sync --group dev && uv run poe docs-generate- verify it generates docs atdocs/generated/fastmcp_extensions/fastmcp_extensionsmatches the actual package structure insrc/Recommended test plan:
uv run poe docs-generatelocally and verify HTML docs are generatedNotes
dependency-groupssection is separate fromproject.optional-dependenciesper PEP 735Link to Devin run: https://app.devin.ai/sessions/156b0420198e44ed8bc3817334eda185
Requested by: Aaron ("AJ") Steers (@aaronsteers)