For its annual user conference this week in San Francisco, GitHub unveiled a new product, GitHub Actions, that allows developers to create small bits of code that can be used to trigger events or a set of event within the code repository service.
GitHub wanted to create an environment where developers can focus on what they’re most interested in, which is writing code, said Sam Lambert, GitHub head of platform in an interview. “Our question was, ‘how do we keep devs in the zone?’” The answer was to automate everything that is needed for code production, aside from writing the code itself.
“We took CI/CD and applied principles across the pipeline from idea to production to bring flexibility into the workflow,” said Lambert. “You can do CI/CD with Actions, but so it is much more.”
For example, you wrap into can action all the manual steps to push your code through to a cloud service. Actions also works with third-party software: With LaunchDarkly, you can use an Action to flip a feature flag simply by closing an issue. Later you can use a single Action to approve and apply actions in Terraform.
Mitchell Hashimoto from @HashiCorp is here!
Terraform uses #GitHubActions to:
– automate error checks in your config
– add the Terraform plan to the pull request itself
– simplify pull request reviews
Check it out ? pic.twitter.com/CumKBoiUyp
— GitHub Universe (@githubuniverse) October 17, 2018
Developers can use pre-made actions or write their own in any language. Actions become part of the GitHub codebase, and so are available to all developers once written.
Max Schoening, GitHub’s senior director of product design, explained Actions are set up so developers can create their own workflow. “You can chain as many as you want, and can trigger a workflow from any event in GitHub platform.” He did warn that, with the beta, there is a cap at 50, which, he pointed out, is a lot of actions to string together at one time.
The key is that Actions are simple, actionable and repeatable. The only requirement is to have a top-level docker file. “Actions let you point to someone else’s repo, an existing Dockerfile, or a path, and the action will behave accordingly. This is a whole new can of worms for open source possibilities, and ecosystems,” wrote Sara Drasner, Senior Developer Advocate at Microsoft, in an article that gives examples of how to write your own Actions.
The buzz on Tuesday was immediate. Pawan Mittal, a lead developer at Adobe, tweeted “This is freaking awesome.” Others were likewise enthusiastic:
GitHub Actions looks amazing. Idea: Commit to GeoJSON repo > action triggers tippecanoe container > action triggers Mapbox Python SDK container. BOOM! version controlled Mapbox tilesets #GitHubActions
— CampbellFleury (@CampbellFleury) October 17, 2018
And developers are already making plans on how to use it.
— Bruno Lara Tavares (@bltavares) October 18, 2018
We're currently redoing our entire infrastructure consisting of hundreds of servers and we'd like to use #GitHubActions to manage our automatic deployment process, feature branches and more! We're already deeply integrated with @github and would love to try this out!
— David Krutsko (@dkrutsko) October 18, 2018
— Luca Maraschi (@lucamaraschi) October 18, 2018
And that raises the question of just how this product will change the DevOps landscape. In an upcoming TNS Context podcast, TNS founder Alex Williams wondered how will this affect the CI/CD platform providers. Anyone from CloudBees to CircleCI and all the other platforms on the market to ease the pipeline process could be affected. And he’s not the only one.
Back at GitHub, Lambert is excited to see what developers are going to do in this playpen. “I’m looking forward to all the things that people will make that we can’t foresee,” he said.
“We’ve got a great future ahead of us,” said Schoening. Once the basic product is out of beta, additional features such as AI/ML learning code will be added in as well.
LaunchDarkly is a sponsor of The New Stack.