-
Notifications
You must be signed in to change notification settings - Fork 0
build: vendor bleeding-edge bolt-python wheel from main branch #11
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| Update the vendored bolt-python wheel to the latest commit on the `main` branch. | ||
|
|
||
| ## Steps | ||
|
|
||
| 1. If `.bolt-python-build/` exists, `cd` into it and run `git pull`. Otherwise, clone bolt-python: | ||
| ``` | ||
| git clone --depth 1 https://github.com/slackapi/bolt-python.git .bolt-python-build | ||
| ``` | ||
|
|
||
| 2. `cd .bolt-python-build` and get the HEAD commit SHA (short form, 7 chars): | ||
| ``` | ||
| SHA=$(git rev-parse --short HEAD) | ||
| ``` | ||
|
|
||
| 3. Read the current version from `slack_bolt/version.py` and patch it to append `+<SHA>` as a PEP 440 local version identifier: | ||
| ``` | ||
| sed -i '' "s/__version__ = \"\(.*\)\"/__version__ = \"\1+$SHA\"/" slack_bolt/version.py | ||
| ``` | ||
|
|
||
| 4. Build the wheel: | ||
| ``` | ||
| python -m build --wheel | ||
| ``` | ||
|
|
||
| 5. Remove any old `.whl` files from `vendor/` and copy the new one in: | ||
| ``` | ||
| rm -f ../vendor/slack_bolt-*.whl | ||
| cp dist/slack_bolt-*.whl ../vendor/ | ||
| ``` | ||
|
|
||
| 6. Update the whl filename in all three `requirements.txt` files (`claude-agent-sdk/requirements.txt`, `openai-agents-sdk/requirements.txt`, `pydantic-ai/requirements.txt`). Replace the existing `../vendor/slack_bolt-*.whl` line with the new filename. | ||
|
|
||
| 7. Clean up the build directory: | ||
| ``` | ||
| cd .. && rm -rf .bolt-python-build | ||
| ``` | ||
|
|
||
| 8. Report the old version/SHA vs new version/SHA to the user. Do NOT commit — let the user review first. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,5 @@ | ||
| # Claude | ||
| .claude/*.local.json | ||
|
|
||
| # bolt-python build scratch (used by /project:update-bolt command) | ||
| .bolt-python-build/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| slack-sdk==3.40.1 | ||
| slack-bolt==1.27.0 | ||
| ../vendor/slack_bolt-1.27.0+837e120-py2.py3-none-any.whl | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🤖 issue(non-blocking): IIRC the kind @dependabot cannot update Wanting to call this out here since we might find adjacent dependencies fall outdated, but I think the slash command included does more than enough!
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for the insight @zimeg! Hmm... that's a bummer. I suppose we can merge it and if we find that @dependabot has trouble, then we can revisit it. An alternative approach could be to have the Claude Code slash command install the vendored Bolt into each project using |
||
| slack-cli-hooks<1.0.0 | ||
| openai-agents | ||
| python-dotenv==1.2.1 | ||
|
|
||
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.
question: went back and forth on whether to remove this or leave a comment. I fear we'll forget to add this back after we un-vendor Bolt
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.
@mwbrooks I think you made the right call here. We should keep
READMEas correct as possible for what exists. It'd be so confusing otherwise to find incorrect instruction! 📠