Earlier quoted context omitted.
Hey if you’ve never heard of it consider using just[0], it’s a better makefile and supports shell scripting explicitly (so at least equivalent in power, though so is Make) [0]: https://github.com/casey/just
I discovered Just with a similar comment in Hacker News and I want to add my +1. It is so much better to run scripts with Just than it is doing it with Make. And although I frankly tend to prefer using a bash script directly (much as described by the parent commenter), Just is much less terrible than Make. Now the only problem is convincing teams to stop following the Make dogma, because it is so massively ingrained…
I'll think twice before using GitHub Actions again
241–250 of 284 posts
Re: I'll think twice before using GitHub Actions again
#242Earlier quoted context omitted.
It never becomes unbearably messy this way though. The reason it gets unbearably messy is because most people google "how to do x in github actions" (e.g. send a slack message) and there is a way and it's almost always worse than scripting it yourself.
The reason it gets unbearably messy is that GitHub has constructed an ecosystem that encourages developers to write Turing complete imperative behavior into YAML without providing the same language constructs/tooling that a proper adult language provides to encourage code reuse and debugging. Without tooling like this any sufficiently complex system is guaranteed to evolve into a spaghetti mess, because no sane way e…
It's like the circle of life for CI systems.
Re: I'll think twice before using GitHub Actions again
#243Earlier quoted context omitted.
Azure DevOps specifically has a very broken approach to YAML pipelines, because they effectively took their old graphical pipeline builder and just made a YAML representation of it. The trick to working with this is that you don't need any of their custom Azure DevOps task types, and can use the shell type (which has a convenient shorthand) just as well as in any other CI environment. Even the installer tasks are red…
It has been on life support for a long time AFAIK. I designed Visual Studio Online (the first launch of AzDO) - and every engineer, PM, and executive I worked with is either in leadership at GitHub or retired.
I wish Microsoft would just announce AzDO's time of death and save companies increasingly crazy AzDO blinders and/or weird mixes of GitHub and AzDO as GitHub-only is clearly the present/future.
Re: I'll think twice before using GitHub Actions again
#244Earlier quoted context omitted.
> Search for and leak `AWS_ACCESS_KEY_ID` anyone? Well that's just someone being a dumbass, since AssumeRoleWithWebIdentity (and its Azure and GCP equivalent) have existed for quite a while. It works flawlessly and if someone does do something stupid like `export HURP_DURP=$AWS_ACCESS_KEY_ID; printenv` in a log, that key is only live for about 15 minutes so the attacker better hurry Further, at least in AWS and GCP (…
I never knew how easy it was to setup role assuming for AWS/GHA. It’s much easier than managing the access/secret. I wrote a little about it in this blog post: https://joshstrange.com/2024/04/26/nightly-postgres-backups-...
role-session-name: GitHubActionSession
one can consider role-session-name: gha-${{ github.run_id }} # or your favorite
I don't this second recall what the upper limit is on that session name so you may be able to fit quite a bit of stuff in thereRe: I'll think twice before using GitHub Actions again
#245Earlier quoted context omitted.
1) If possible, don't run shell scripts with Python. Evaluate why you are trying to do that and don't. 2) Python has a bunch of infrastructure compared to shell, you can use it. Shell scripts don't. 3) Apply the same you used for the script to what it calls. CI calls control script for job, script calls tools/libraries for heavy lifting. Often the shell script just calls a python/Ruby/rust exec anyways... Shell scrip…
Sure but I already know all this at a level deeper than most people. Your average person is going to be blindsighted.
Re: I'll think twice before using GitHub Actions again
#246Earlier quoted context omitted.
git commit --allow-empty -m "bump ci" unless your pipeline does magic with trying to detect changed files
I use Mercurial + hg-git like a weirdo. Not sure if Mercurial supports empty commits, I don't think it does.
$ hg init
$ hg commit -m"initial"
nothing changedRe: I'll think twice before using GitHub Actions again
#247> no way of running actions locally My policy is to never let pipeline DSLs contain any actual logic outside orchestration for the task, relying solely on one-liner build or test commands. If the task is more complicated than a one-liner, make a script for it in the repo to make it a one-liner. Doesn't matter if it's GitHub Actions, Jenkins, Azure DevOps (which has super cursed yaml), etc. This in turn means that you…
https://github.com/Pernosco/gha-runner
but I'm not sure how complete it is, and probably doesn't satisfy the author's use cases
Re: I'll think twice before using GitHub Actions again
#248It's simple. Don't believe that the company purchased by Microsoft wants anything other than for you to use more compute.
Re: I'll think twice before using GitHub Actions again
#249Earlier quoted context omitted.
yeah if you author CI jobs, you should know linux, otherwise a person should not even touch the CI system with 10ft pole
I've been working with Linux since I was 10 (I'm much older now), and I still don't think I "know Linux". The upper bound on understanding it is incredibly high. Where do you draw the line?
Re: I'll think twice before using GitHub Actions again
#250This basically brings docker layer caching to CI. Only Things that changed are rebuilt and tested.