bump-sentry-dependency
GitHub用于在 getsentry/sentry 仓库中通过 GitHub Actions 工作流升级现有 Python 依赖版本。支持预检、确认、分发流程及结果监控,不适用于新增依赖或 JS 包。
Trigger Scenarios
Install
npx skills add getsentry/sentry --skill bump-sentry-dependency -g -y
SKILL.md
Frontmatter
{
"name": "bump-sentry-dependency",
"description": "Bumps an existing Python dependency in getsentry\/sentry through the repository's self-serve GitHub Actions workflow. Use when asked to update, upgrade, or bump a Python package version in Sentry. Does not apply to new dependencies, JavaScript packages, or informational questions about dependency management."
}
Bump a Sentry Python Dependency
For an existing Python dependency, prefer .github/workflows/bump-version.yml
over editing pyproject.toml and uv.lock locally. The workflow creates a
non-draft PR when it produces a diff; it does not approve or merge the PR.
Do not use this workflow for new dependencies, JavaScript packages, other repositories, or informational questions.
Preflight without side effects
Before asking for confirmation:
- Confirm the package is in
[project].dependenciesor thedevdependency group inpyproject.toml. - Resolve the exact target version. If the user says
latest, determine the intended stable version first. - Check for an existing PR from
bot/bump-version/<package>/<version>. Reuse and report it instead of dispatching a duplicate.
Require confirmation
Dispatching the workflow is an external side effect: it starts a GitHub Actions job and normally opens a PR. A request such as "bump package X" is not by itself explicit approval for those effects.
Unless the user already said to run the workflow or open the PR, ask and wait:
This will dispatch Sentry's
bump-versionworkflow and open a PR if it produces a change. Would you like me to run it?
Do not treat approval for this dispatch as approval to modify getsentry/pypi,
approve the PR, enable auto-merge, or merge it.
Dispatch and report
After approval, run:
gh workflow run bump-version.yml \
--repo getsentry/sentry \
--field package=<package> \
--field version=<version>
Omit pr_options unless the user explicitly requested it. Use the run URL/ID
returned by gh workflow run to monitor that exact run:
gh run watch <run-id> --repo getsentry/sentry --exit-status
GitHub can occasionally return no run details. Only then fall back to
gh run list, filtered by this workflow, workflow_dispatch, the authenticated
user, and the dispatch time.
If the run succeeds, find the PR by its bot branch. Verify that changed files
are limited to pyproject.toml and uv.lock and that the dependency changes are
expected, then report the run URL, PR URL, current CI state, and review state. Do
not wait indefinitely for human review. Never describe the dependency as landed
until the PR is merged.
If the run succeeds without a PR, inspect its log. No diff usually means the repository already satisfies the requested version.
Handle failures narrowly
gh run view <run-id> --repo getsentry/sentry --log-failed
The workflow retries resolver failures for roughly 20 minutes. After it fails, distinguish a genuinely missing internal-PyPI release from a dependency conflict. A mirror PR will not fix an incompatible dependency set.
Changing getsentry/pypi is a separate external side effect. Explain why it is
needed and get separate explicit approval before making that cross-repository
change.
Version History
- 2f300b6 Current 2026-09-23 11:32


