Skip to content
Back to skills

Bump Sentry Dependency

ASecurity

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.

  • 44,888 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 20, 2026
devopsjavascriptpythonjavabashgit

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add getsentry/sentry --skill bump-sentry-dependency --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bump Sentry Dependency?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bump Sentry Dependency
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/getsentry-bump-sentry-dependency/badge)](https://www.skillsdirectory.com/skills/getsentry-bump-sentry-dependency)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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:

1. Confirm the package is in `[project].dependencies` or the `dev` dependency
   group in `pyproject.toml`.
2. Resolve the exact target version. If the user says `latest`, determine the
   intended stable version first.
3. 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-version` workflow 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:

```bash
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:

```bash
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

```bash
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.

Files in this skill

  • SKILL.md3.2 KB
  • SOURCES.md1.6 KB
  • SPEC.md2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…