- if ${{ github.event_name == 'why do you think this is acceptable?" }}
run:|
echo "I need programmatic CI no matter how much you think I don't"
Just let us write our entire pipelines in typescript. People are already using Actions for bitcoin mining, hosting porn, or whatever - if I can do arbitrary shell stuff you're not making my life easier by putting it behind a yaml DSL pretending to be "no code."
If it were just typescript with a reasonable library we could run and debug it locally without jumping through hoops.
I write Python for years (including messing code) and never feel the pain I found when I edit an even a slightly complicated YAML file.
The issue is not really the significant indentation of YAML, it is more of the ambiguity of the syntax plus the fact that YAML is a serialization format so it doesn't have many ways to reduce repetition. Now those issues coupled with the significant indentation makes YAML a mess, but those issues doesn't exist in Python.
I've been making a custom build image in large part because of this. Local testing with Docker isn't the most fun, I have to manually manage the environment variables I pass on the command line, but it's way better than commit then wait for Docker to schedule.
Once it's working locally I push up and it's usually only a commit or two away from working.
In the beginning my startup only had 2 people. A designer (my friend) and me (a developer).
For our frontend we used Webflow. My friend was able to create the entire marketting site, and all the app UI's without needing help from me. Webflow is an awesome tool for that sort of thing.
For the backend, I built a simple Node/Express API and hosted via Heroku.
To this day, everything is still running fine and the API is processing roughly 200 million requests a month. The total cost to host that on heroku is $50/mo.
You can definitely have a simple stack but have it be highly scaleable!
Currently processing almost 200 million requests a month on a cheap $25/mo heroku dyno.