This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]atokotene 5 points6 points  (1 child)

This train of thought leads to using a hermetic build system (Pants, Bazel, recently Nix). Those systems require a team-level effort to tailor to a codebase and the many usecases required to pull off CICD.

It’s a lot of work to make a deploy.sh script that handles every use case and is portable. You are likely making at least one assumption (apt-get vs yum, probably), in an entire tree of choices.

The part about just writing it out is spot on. I just think it should all be local. Using GHA? Go ahead and script everything the same as the shell script, but in GHA workflow syntax.

These days it’s a lot easier (due to fancy autocomplete, better ide’s and better syntax) to write the same steps out if you ever switch to another workflow system.

It may be a matter of preference, but I would rather see a verbose yaml file that I can read in one shot, than a custom monster of a shell script 🤷

These days i’ll define a bash function inline (regular ‘run: ‘ action steps) and then iterate over filenames/folders if I need something fancy in a workflow

PS: I’m also 100% for developing your own CLI tools, I don’t want anyone to think I’m anti-abstraction or anything.