fix: post-0.1.0 packaging, dependency, and release-workflow cleanup#5
Merged
Conversation
Bundles fixes and improvements discovered after the 0.1.0 release. Packaging: - Scope each package's sdist to its own source (no monorepo tarball; no bleed of tests/, demo/, docs/ between adapter sdists). - Ship Apache-2.0 LICENSE in adapter wheels. - Derive __version__ from installed package metadata across all three packages (no more hardcoded, drift-prone constant). - Align adapter pyproject.toml metadata with the SDK (classifiers, Repository / Changelog URLs). Dependencies: - Tighten authplane-fastmcp floor to fastmcp>=3.2,<4 (was >=2.0, which could resolve to fastmcp 2.x and crash at import — the adapter uses the v3 auth surface). Docs: - Use absolute GitHub URL for the User Guide link so it resolves on PyPI. - Correct the fastmcp demo port (8080, not 8090). CI / release workflow: - Clone the shared conformance catalog into $RUNNER_TEMP to keep it out of the working tree we tag and publish. - Mint a short-lived release-bot App token for the atomic tag/branch push step in release.yml (default GITHUB_TOKEN is rejected by the v* tag ruleset). - Fail fast in release.yml when release-bot secrets are missing.
The Quickstart used a bare @mcp.tool() while passing scopes=[...] to authplane_mcp_auth, implying enforcement that never happened.
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
Bundle of fixes and improvements discovered after the 0.1.0 release,
covering packaging, dependency floors, docs, and the CI / release
workflow.
Linked Issue
Changes
Packaging
tarballed the whole monorepo; the adapter sdists carried unrelated
tests/,demo/,docs/, and dotfiles.LICENSEin adapter wheels (0.1.0 wheels shippednone).
__version__from installed package metadata across all threepackages (was hardcoded to
"0.1.0"and would drift on every release).pyproject.tomlmetadata with the SDK (classifiers,Repository/ChangelogURLs).Dependencies
authplane-fastmcprequirement tofastmcp>=3.2,<4(was>=2.0, which could resolve to a version the adapter can't import —the adapter uses the v3 auth surface:
RemoteAuthProvider,require_scopes).Docs
resolves on PyPI (the relative path 404'd).
authplane-fastmcp/demo/README.md(8080, not 8090).
CI / release workflow
AuthPlane/conformancecatalog into$RUNNER_TEMPto keep it out of the working tree we tag and publish.
push step in
release.yml(defaultGITHUB_TOKENis rejected by thev*tag ruleset).release.ymlwhen release-bot secrets are missing.Affected Packages
authplane-sdk(root)authplane-mcpauthplane-fastmcpTest Plan
Verified locally before opening this PR:
ruff check .— cleanruff format --check .— 85 files formattedpyright— 0 errorspinact run --check— cleanpytest tests— 433 passedauthplane-mcppytest tests— 27 passedauthplane-fastmcppytest tests— 33 passedpython -m buildsucceeds for all 3 packagestwine check dist/*passes for all 6 artifactsLICENSEunderdist-info/licenses/tests//demo//docs/in adapter sdists)CI will re-run all of these plus coverage.
Checklist
ruff check .passesruff format --check .passespyrightpasses (SDK root)pytestpasses for affected packagesCHANGELOG.mdentry added under[Unreleased](if user-facing)pinact runafter changes)