| ▲ | iamcalledrob 10 hours ago |
| > For the love of all that is holy, don’t let GitHub Actions
> manage your logic. Keep your scripts under your own damn
> control and just make the Actions call them!
The pain is real. I think everyone that's ever used GitHub actions has come to this conclusion. An ideal action has 2 steps: (1) check out the code, (2) invoke a sane script that you can test locally.Honestly, I wonder if a better workflow definition would just have a single input: a single command to run. Remove the temptation to actually put logic in the actions workflow. |
|
| ▲ | btreecat 9 hours ago | parent | next [-] |
| This is how we did things with Jenkins and gitlab runners before, idk why folks would do it differently for GHA. If you can't run the same scripts locally (minus external hosted service/API) then how do you debug them w/o running the whole pipeline? |
| |
| ▲ | anilakar 9 hours ago | parent | next [-] | | I assume you're using the currently recommended docker-in-docker method. The legacy Gitlab way is horrible and it makes it basically impossible to run pipelines locally. | | | |
| ▲ | geerlingguy 7 hours ago | parent | prev [-] | | GitHub introduced all their fancy GHA apps or callables or whatever they're called for specific tasks, and the community went wild. Then people built test and build workflows entirely in GHA instead of independent of it. And added tons of complexity to the point they have a whole build and test application written in GHA YAML. |
|
|
| ▲ | Conan_Kudo 9 hours ago | parent | prev | next [-] |
| This is basically how most other CI systems work. GitLab CI, Jenkins, Buildbot, Cirrus CI, etc. are all other systems I've used and they work this way. I find GitHub Actions abhorrent in a way that I never found a CI/CD system before... |
| |
| ▲ | blibble 9 hours ago | parent | next [-] | | as usual for Microslop products: it's designed for maximum lock-in everything is including some crappy proprietary yaml rather than using standard tooling so instead of being a collection of easily composable and testable bits it's a mess that only works on their platform | | |
| ▲ | rerdavies 7 hours ago | parent [-] | | It seems more of a cultural issue that -- I'm pretty sure -- predates Microsoft's acquisition of GitHub. I assume crappy proprietary yaml can be blamed on use of Ruby. And there seems to be an odd and pervasive "80% is good enough" feel to pretty much everything in GitHub, which is definitely cultural, and I'm pretty sure, also predates Microsoft's acquisition. | | |
| ▲ | treyd 7 hours ago | parent [-] | | GHA is based on Azure Actions. This is evident in how bad its security stance is, since Azure Actions was designed to be used in a more closed/controlled environment. |
|
| |
| ▲ | embedding-shape 9 hours ago | parent | prev [-] | | > I find GitHub Actions abhorrent in a way that I never found a CI/CD system before... That's just the good old Microsoft effect, they have a reverse-midas-touch when it comes to actually delivering good UX experiences. |
|
|
| ▲ | thiht 7 hours ago | parent | prev | next [-] |
| > I think everyone that's ever used GitHub actions has come to this conclusion This is not even specific to GitHub Actions. The logic goes into the scripts, and the CI handles CI specific stuff (checkout, setup tooling, artifacts, cache...). No matter which CI you use, you're in for a bad time if you don't do this. |
|
| ▲ | worldsayshi 10 hours ago | parent | prev | next [-] |
| > I think everyone that's ever used GitHub actions has come to this conclusion. I agree that that should be reasonable but unfortunately I can tell you that not all developers (including seniors) naturally arrive at such conclusion no. |
|
| ▲ | ImHereToVote 9 hours ago | parent | prev [-] |
| I thought that's how actions are supposed to work. Python is king. Just use the Actions script to feed your variables. |