The author details the frustrating journey of rewriting CI scripts in GitHub Actions for the third time due to a complex setup involving merge queues, multiple runners, Rust builds, Docker images, and heavy integration tests. A clever solution to enforcing clean main branches is naming jobs identically to require them to pass in both pre- and post-queue phases. The article raises concerns about GitHub Actions security due to a compromised action, a lack of clarity around permissions, and confusion regarding the integration of self-hosted runners. Docker integration with GitHub Actions brings its own set of challenges. Developing workflows with YAML proves cumbersome, with debugging tips and tricks provided. Despite the hurdles, the author expresses satisfaction with the improved CI scripts.
https://www.feldera.com/blog/the-pain-that-is-github-actions