-
-
Notifications
You must be signed in to change notification settings - Fork 239
Description
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.