In October 2018, GitHub Actions launched in beta to simplify how developers used the platform. After months of feedback, it has now added distinct CI/CD (continuous integration/continuous delivery) functionality.
First, a bit of background. GitHub Actions was introduced to make working in open source simpler and faster. Its aim was to fill in gaps left by developers who manage repositories. Rather than write your own tests for a repo, you could instead find a GitHub Action for testing and attach it to your repo. Developers can also keep Actions private, which allows a company to write one major feature or function and attach it to a repo, then support and iterate on each independently.
Those Actions can be strung together, which is where GitHub starts to find its footing. It says, “Since we introduced GitHub Actions last year, the response has been phenomenal, and developers have created thousands of inspired workflows. But we’ve also heard clear feedback from almost everyone: you want CI/CD!”
Actions also has broader support for languages and frameworks such as Node.js, Python, Java, PHP, Ruby, C/C++, .NET, as well as the Android and iOS platforms. Multiple Docker containers can also be used for Actions via a docker-compose
command. Matrixed builds can be tested in parallel, and Actions now has a live-log feature so you know the status of a build. Strung-together Actions, or Workflows, can also run in a container or a virtual machine.
When GitHub Actions launched, GitHub’s Head of Platform, Sam Lambert, likened it to Siri Shortcuts, which allow any iOS user to string together automations for iPhone or iPad. To that, Actions with a renewed focus on CI/CD may end up more like Fastlane, a service Google acquired when it purchased Fabric from Twitter. GitHub Actions may even end up more popular that Fastlane; it’s on GitHub, where most developers are anyway, and integrates directly with code hosted in repositories without fiddling with code snippets or adding pods or files to an IDE.
Unfortunately, today doesn’t bring GitHub Actions out of beta. GitHub has spent the last 10 months honed in on CI/CL in an effort to make Actions a “best in class” CI/CD solution, and will continue to solicit feedback on this iteration. We just hope it’s not another ten months before Actions is available more broadly.