4 ms·
That'd likely break a lot of CI workloads.
by lawtalkinghuman 4y ago
That'd likely break a lot of CI workloads.
- webstrand 4y agoEasy enough to check for the presence of a TTY and only prompt then. CI wouldn't have a TTY and thus wouldn't prompt.
- danpalmer 4y ago"Falsehoods programmers believe about CI" I mean, I completely agree with you in principle, but also there are a lot of terrible CI systems out there.
- thiht 4y agoOk, then let’s admit it breaks your CI. So what? You fix it by setting an environment variable and you’re good to go after 2 minutes.
- danpalmer 4y agoIn any good development org, yes. But I'm sure there are orgs out there where the team that manages the environment and the team that does Go builds are two separate teams. Now the team managing CI (or QA which could actually be in a TTY) needs to notice these failures and communicate them (via a JIRA ticket of course) back to the development team. That team doesn't know what it's about and sticks it on the backlog. Eventually they give the right environment variable, but environment variables are a security risk so it needs to go through security review, and because this mentions telemetry data the privacy and legal teams want sign-off... This might be an exaggeration, but I think it's worth thinking about the worst case scenario when building things like this into development tools that are used so widely.
- thiht 4y agoHey, if it can help highlight dysfunctional Kafkaesque processes in companies, that's a bonus. If you can't update an environment variable yourself, or ask directly someone who can, all that on a CI system that's somehow bound to TTY, get out of here.
- indrora 4y agoSaid like someone who has never had to fix a broad corporate CI system. Fixing this in several CI systems I've encountered would take well into months, plausibly with many unknown failures because of cached builds.
- thiht 4y agoYeah, don’t hide behind « but in real world… », what you describe is utterly dysfunctional and completely insane.
- thiht 4y agoAs I said: > if an environment variable (eg. GO_DISABLE_TELEMETRY=1) is not detected It could also easily rely on whether the shell is attached to a tty to detect a CI environment, and disable telemetry by default in this case.
- John23832 4y agoIt wouldn't. Most (read: all) CI tools would allow you to set an Env variable. So you could just set the Env to bypass the input.
- xenophonf 4y agoThat's better than violating people's right to privacy without their consent.