Github actions is confusing and has a steep learning curve, but the flexibility of using Docker makes it fast and reliable to hack together workflows.
Sorry, I'm honestly not familiar with Gitlab CI. I was just originally mentioning how the use of Docker in Github Actions allowed for amazing flexibility, which I thought was cool.
What makes Gitlab CI a better or more polished API than Github Actions? At first glance they look very similar
Allegedly there's a way to cache image layers and artifacts on Github. I've taken to pushing them to S3 buckets so my CI runs can be incremental where possible.
See [1] actions/cache for more details.