As soon as you start banking on "the cloud" to get useful work done, the very first thing that should enter your mind is:
"Any of these nifty services can just turn into a pumpkin at any time"
Fallacy #1 - The cloud is reliable
[1]: https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...
Centralisation into just a few large providers is another bad idea we're heading towards or have already arrived at.
Which is just as true for on premise servers.
It won't go away on its own, or like Travis make you dependent on it, get bought out by VCs who milk your dependency for money.
When it goes down, it only impacts your jobs until you solve it, not single-point-of-failues the whole internet and whole programming languages.
Your self-sufficiency also acts to stop all software endevour concentrating in the hands of one monopolistic American company.
Until they get bought, or simply discontinue / modify the product, and/or you fail to read the fine print on the ToS. Or they simply lie.
Heck, maybe have some helper when outputting error message doing something like:
log.error("Could not download fizbulator v3.21.4", ping-btw)
Where "ping-btw" would try a ping and add the message: "by the way ping to 4.2.2.1 didn't answer after 300 ms, maybe your connection is down?".Something like that.
flutter channel master
And it kept failing with:
------
git: remote: Internal Server Error.
git: remote:
git: fatal: unable to access 'https://github.com/flutter/flutter.git/': The requested URL returned error: 500
Switching channels failed with error code 128.
------
thought I was doing something wrong and spent some time troubleshooting.
there aren't a lot of HTTP error codes, and it's worth remembering the most common ones, like the 200, 300, 400 series and 500 itself. will help you troubleshooting later.