Citing overwhelming user demand, code repository service GitHub has expanded its Actions workflow capability to include continuous integration and continuous delivery (CI/CD) functionality, with the aim of helping users to make build, test and deploy projects across different platforms, including Linux, macOS and Windows. The service supports Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android and iOS, as well as the ability to run the workflows in containers or virtual machines.
The features include much of the functionality you might expect with CI/CD tooling, such as live logs or the matrixed builds that let you test multiple versions of your project in parallel, said GitHub Senior Director of Product Design Max Schoening in an interview with The New Stack.
“When we set out to build Actions last year, one of the things that we really wanted to do was build something that lets developers remix their tooling in the same way that we get to stand on the shoulders of giants when we write application code,” said Schoening.
GitHub Actions has the ability to trigger actions from more than push or pull requests; for example, someone joining a project for the first time or opening an issue. Actions are stored in repositories and are referable, meaning you can edit, reuse, share, and fork them like code, and are, of course, integrated with other GitHub features, such as GitHub Package Registry, which users will gain access to alongside GitHub Actions.
CI/CD has been “fairly monolithic” until now, Jeremy Epling, senior director of product management at GitHub, said, adding that GitHub CI/CD actions could bring about what GitHub hopes will be a democratizing effect on not just the code, but the processes used to build and deliver the code.
“We believe that just by putting it in that context of GitHub, people will start thinking about these workflows slightly differently, because it’s in close proximity to how they thought about open source,” said Epling. “Because these workflows and Actions are just files in a repository, you can actually go and look at another open source project and not only can you use their code, you can also fork their workflows, reuse those workflows, customize them and work like some of these other projects. Some of them have really awesome, well-established systems and processes for how they work.”
While Actions will be reusable as any other code hosted on the site, the company also points out that new users will be offered suggested workflows based on the language of the project and “other factors.”
When GitHub Actions was launched last year, some accused the company of competing with its own partners in the GitHub Marketplace, but Epling pointed out that Actions can be used in conjunction with other CI/CD providers.
“We think Actions does a lot more than just CI/CD and we also think it can pair really well with other CI/CD providers as well. It doesn’t have to be an either or choice. They can really use both of those things together,” said Epling. “At the same time, there’ll be some people that want to use Actions for CI/CD and our goal has been to make sure we have all the capabilities for customers that choose to go use Actions just for CI/CD.”
GitHub Actions is currently free for all users and will switch to a pay-as-you-go pricing model on November 13, when it becomes generally available, but will remain free for public repositories. GitHub Enterprise Server customers can look forward to a hybrid option next year, and self-hosted runners for on-premises VMs are also on the way.