I'm working on splitting up a local release build ...
# development
w
I'm working on splitting up a local release build from the official CI release build. I'm not sure how we'd want to handle the defaults though. Either we could make the default the fast local one - so that anyone who pulls down
main
and just runs
pants --version
has a good experience, and then we environment variable away the
CI
build (which takes much longer, and would be slightly faster - but it's in CI, so whatever) This is a "breaking" change of sorts, as anyone else building Pants for whatever reason (internally, for their own perf testing, etc, etc) would have a slower runtime experience, and would have to opt-into the "yet faster" change. For anyone using our official releases, though, they would be fine either way. If we're okay with the breaking change concept in order to make life easier for local dev, then my immediate follow-up would be ... why not default to debug/dev builds locally, always, instead of opting into that? So, in short, ignoring the details of how Cargo, how our local scripts work, and the specific naming - we have these 3-ish scenarios:
Copy code
MODE=debug
MODE=semi-release
MODE=release
So, the question is, which is the default for when we type
pants --version
while doing local mainline development
For more clarity, our CI would always build using the settings associated with
MODE=release
- as would
cargo bench
c
I don't think I know enough about rust/cargo land to even know what we do today