zlacker

[return to "Automating a Software Company with GitHub Actions"]
1. danpal+O7[view] [source] 2021-08-19 14:50:25
>>marius+(OP)
One of the things I like about Actions is how much it's focused on automation rather than CI. The pain points I've had with Circle/GitLab/Travis have often boiled down to the fact that they are often very specifically about _testing software_, not _automating processes_, and not even _deploying software_.

On that last one, there's a potential bug in the deployment pipeline here – deploys could run simultaneously or some bad luck on runner speed could even see an older version of the code go out after a newer version. Combined with the automated database migrations this could be quite a big problem!

Actions thankfully solved this recently with the `concurrency` key that lets you form a serial queue by a given key such as the branch name.

◧◩
2. verdve+kd[view] [source] 2021-08-19 15:13:39
>>danpal+O7
I'm not sure the concurrency key can solve the issue of old code after new code, in the general case.

What happens if there are conflicting migrations on two "parallel" branches?

What happens in you bad luck situation when commits are pushed in rapid succession on the same branch?

◧◩◪
3. danpal+mE2[view] [source] 2021-08-20 09:25:45
>>verdve+kd
With the concurrency key at the top level, actions run it commit order.

As for running migrations on the same database from multiple branches, not a good idea. Probably best to decide on the branch that is the release branch (maybe main/master) and only deploy from that.

[go to top]