Hacker News new | ask | show | jobs
by zahlman 182 days ago
Meanwhile I'm just running `pytest`, `pyproject-build`, `twine` etc. at the command line....

(People seem to object to this comment. I genuinely do not understand why.)

3 comments

You don't trust devs to run things, to have git hooks installed, to have a clean environment, to not have uncommitted changes, to not have a diverging environment on their laptop.

Actions let you test things in multiple environments, to test them with credentials against resources devs don't have access to, to do additional things like deploys, managing version numbers, on and on

With CI, especially pull requests, you can leave longer running tests for github to take care of verifying. You can run periodic tests once a day like an hour long smoke test.

CI is guard rails against common failure modes which turn requiring everyone to follow an evolving script into something automatic nobody needs to think about much

> You don't trust devs to run things, to have git hooks installed, to have a clean environment, to not have uncommitted changes, to not have a diverging environment on their laptop.

... Is nobody in charge on the team?

Or is it not enough that devs adhere to a coding standard, work to APIs etc. but you expect them to follow a common process to get there (as opposed to what makes them individually most productive)?

> You can run periodic tests once a day like an hour long smoke test.

Which is great if you have multiple people expected to contribute on any given day. Quite a bit of development on GitHub, and in general, is not so... corporate.

I don't deny there are use cases for this sort of thing. But people on HN talking about "hosting things locally" seem to describe a culture utterly foreign to me. I don't, for example, use multiple computers throughout the house that I want to "sync". (I don't even use a smartphone.) I really feel strongly that most people in tech would be better served by questioning the existing complexity of their lives (and setups), than by questioning what they're missing out on.

It seems like you may not have much experience working in groups of people.

>... Is nobody in charge on the team?

This isn't how things work. You save your "you MUST do these things" for special rare instructions. A complex series of checks for code format/lint/various tests... well that can all be automated away.

And you just don't get large groups of people all following the same series of steps several times a day, particularly when the steps change over time. It doesn't matter how "in charge" anybody is, neither the workplace nor an open source project are army boot camp. You won't get compliance and trying to enforce it will make everybody hate you and turn you into an asshole.

Automation makes our lives simpler and higher quality, particularly CI checks. They're such an easy win.

I think you could learn a lot about the other use cases if you asked some genuine questions and listened with intent
It passes on my machine. YOLO!
Because you appear completely oblivious and deliberately naive about the entire purpose of CI.
Based on my experience I really do think most people are using it for things that they could perfectly well do locally with far less complication.

Perhaps that isn't most use of it; the big projects are really big.

Care to provide examples?

Fundamentally, yes, what you run in a CI pipeline can run locally.

That's doesn't mean it should.

Because if we follow this line of thought, then datacenters are useless. Most people could perfectly host their services locally.

> Because if we follow this line of thought, then datacenters are useless. Most people could perfectly host their services locally.

There are a rather lot of people who do argue that? Like, I actually agree that non-local CI is useful, but this is a poor argument for it.

I'm aware of people arguing for self-hosting some services for personal use.

I'm not aware of people arguing for self-hosting team or enterprise services.

Well, they are. Selling the team or enterprise a license to do just that is a rather large part of many businesses.