Skip to content

feat(runner): Add sentry-server and deprecate the sentry console script - #129100

Closed
sentry-junior[bot] wants to merge 2 commits into
masterfrom
rename-sentry-server-binary
Closed

sentry-junior[bot] wants to merge 2 commits into
masterfrom
rename-sentry-server-binary

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Rollout: sentry → sentry-server, getsentry → getsentry-server

Why: the new Sentry CLI ships a binary named sentry, which the server's console script shadows. Same rollout across all PRs below; keep this section in sync.

Phase 1: add new names and keep the old names as deprecated aliases (merge first)

Phase 2: move callers to the new names (after phase 1)

Phase 3: remove the aliases (only after prod manifests and self-hosted are confirmed off the old names)

  • getsentry/sentry: drop the sentry alias and clean up stale .venv/bin/sentry (TBD)
  • getsentry/getsentry: drop the getsentry alias (TBD)
  • Heads-up to sentry-kubernetes/charts (18+ templates use command: ["sentry"]) before the sentry alias is removed

Adds a sentry-server console script and keeps sentry as a deprecated alias, both pointing at sentry.__main__:main.

The new Sentry CLI (getsentry/cli) also installs a sentry binary, and the server's console script shadows it. This PR moves every in-repo caller to sentry-server: devservices programs, devserver daemons, devenv/sync.py, scripts/lib.sh, the Makefile, CI workflows, the self-hosted Dockerfile and entrypoint, .vscode/launch.json, the click prog name (Usage: sentry-server …), user-facing messages, and agent/dev docs.

It also removes the .envrc and package.json postinstall logic that deleted node_modules/.bin/sentry and died on any other sentry binary on PATH, so the npm CLI is no longer actively deleted. .envrc now checks for .venv/bin/sentry-server.

Compatibility

  • sentry stays in setup.cfg, so dev venvs and images ship both names. getsentry builds against sentry master and its image, CI, GoCD jobs, and bin/options/* still call sentry directly. So do ops manifests and self-hosted.
  • docker_entrypoint.py prepends sentry-server for bare subcommands and wraps both sentry and sentry-server in tini.
  • #!/usr/bin/env sentry exec scripts keep working through the alias, but should move to sentry-server exec.

Merge order: this PR lands first. getsentry/getsentry#22824 follows. Alias removal is a later phase 3 PR, after getsentry, ops manifests, and self-hosted are confirmed off sentry. Dev shadowing is only fully fixed in phase 3: the venv's sentry alias still ranks ahead of the CLI on PATH until then. Phase 3 also has to delete the stale .venv/bin/sentry script, because tools/fast_editable.py never removes old console scripts.

Changelog Entry

  • Add sentry-server as the Sentry server command. sentry still works as a deprecated alias and will be removed in a future release; update scripts, including #!/usr/bin/env sentry exec hashbangs, to use sentry-server.

via @joshuarli.

--

View Junior Session [Sentry]

The server's `sentry` entry point shadows the Sentry CLI (getsentry/cli)
in dev venvs. Rename it to `sentry-server` and stop deleting other
`sentry` binaries in .envrc and postinstall so the CLI can win.

devenv sync removes the stale `.venv/bin/sentry` that fast_editable
leaves behind. The self-hosted image keeps a deprecated `sentry` symlink
for existing manifests.

Co-Authored-By: David Cramer <david@sentry.io>
@sentry-junior
sentry-junior Bot requested a review from joshuarli October 28, 2026 21:35
@github-actions github-actions Bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Oct 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

getsentry builds against sentry master and its image, CI, and options
scripts still call `sentry` directly, so a hard cut would break it.
Keep both console scripts for now; the alias, and cleanup of stale
`.venv/bin/sentry` scripts, go away in a follow-up.

Co-Authored-By: Joshua Li <14209781+joshuarli@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants