Skip to content

Exploratory Sentry CLI CI edition #3080

@szokeasaurusrex

Description

@szokeasaurusrex

Let's explore the possibility of a slimmed-down build of Sentry CLI, designed specifically for running in CI environments. We would only include those features which folks are expected to use in CI, e.g. sourcemaps features, debug files management, and release management.

Before implementing this properly, we should first explore what the benefit would be from a size perspective. We could do this by creating a branch where we fully delete all parts of the CLI which we would exclude from the slimmed-down build. We would then validate how much smaller the binary is, and whether the size improvement justifies investing in maintaining such a separate distribution.

Then, the task will be to determine how we can re-architect the CLI so that we can easily build both the slim and the full editions. My guess is we would want to use feature flags, but if we apply this to the current structure, I worry we will make a mess of having a bunch of flags all over the place. We may want to refactor the CLI into separate crates, or at least, separate modules, so that the slim edition code is all in one module, and the additional code for the full edition is separate. Plus, we maybe would want some common module that contains code used in both.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIProduct area

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions