GitHub Actions now supports CI/CD, free for public repositories
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! And that’s what we’re announcing today.
GitHub Actions is an API for cause and effect on GitHub: orchestrate any workflow, based on any event, while GitHub manages the execution, provides rich feedback, and secures every step along the way. With GitHub Actions, workflows and steps are just code in a repository, so you can create, share, reuse, and fork your software development practices.
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! And that’s what we’re announcing today.
We hope you’ll try out the beta before GitHub Actions is generally available on November 13. We can’t wait to hear what you think!
Fast CI/CD for any OS, any language, and any cloud
GitHub Actions now makes it easier to automate how you build, test, and deploy your projects on any platform, including Linux, macOS, and Windows. Run your workflows in a container or in a virtual machine. Actions also supports more languages and frameworks than ever, including Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS. Testing multi-container apps? You can now test your web service and its database together by simply adding some docker-compose
to your workflow file.
Matrix builds
Matrix builds let you easily test multiple versions of your project in parallel. Add a few lines to the Actions YAML file, and let GitHub take care of the rest.
jobs:
test:
name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
node_version: [8, 10, 12]
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node_version }}
uses: actions/setup-node@v1
with:
version: ${{ matrix.node_version }}
- name: npm install, build and test
run: |
npm install
npm run build --if-present
npm test
Live logs show you real-time feedback
Live logs provide rich feedback into the progress of your builds as they run. GitHub streams your logs to the Actions console to show your status in real time. Logs are formatted for easy reading, including emojis. 🎉
And you can deep-link to any line in any log file with a clean and simple permalink, making it easy for you to discuss a build failure or test result with a friend.
Write and reuse actions and workflows like code
GitHub Actions are code—so you can edit, reuse, share, and fork them like code. When you fork a repository, you fork the actions along with the source code, giving you a seamless way to test and build projects using the same Actions as the original project. We think this is a great way to learn from the community, by reproducing every step of your favorite projects, then forking them to suit your own requirements.
Actions uses a clean new syntax for expressing workflows based on YAML. You can reuse actions and workflows by referring to them as simple repository references, making it easy to stitch them together into powerful workflows. Write them in JavaScript or create a container Action—both can interact with the full GitHub API and any other public API.
You can also reuse a rich ecosystem of Actions from our partners, such as LaunchDarkly, mabl, Code Climate, GitKraken, or even trigger builds on other CI providers, like CircleCI.
Automate workflows on any event—even your own
GitHub Actions helps you build, test, and deploy applications, but you can also use it to automate other tasks common to your developer workflows: triaging and managing issues, automating releases, collaborating with your user base, and more. Actions workflows can be triggered on events from across the developer life cycle on GitHub. Any GitHub App can now add its own custom events, so developers and partners can customize GitHub to meet the needs of any project.
Build on an integrated package and container registry
Publishing packages and containers are a key part of any CI/CD workflow, such as open source libraries or deploying a large web service. GitHub Actions makes it easy to publish and consume packages from GitHub Package Registry or any other registry. As developers gain access to Actions, they’ll also have access to GitHub Package Registry before general availability to automate entire workflows across issues and code, from build to deployment.
Suggested workflows make it easy to get started
We want to make it as easy as possible for you to get started with CI/CD. Now when you enable Actions for your repository, GitHub will suggest Actions workflows that are appropriate for your project.
Simple, pay-as-you-go pricing
We want every open source project to be productive and use best practices, so Actions is free for the 40 million developers on GitHub to use with public repositories. For private repositories, Actions offers simple, pay-as-you-go pricing. If you want to run on your own hardware or another cloud, our self-hosted runners are free to use. And during the beta, Actions is free for everyone. For full details, see the pricing section on the sign up page.
What’s next for Actions?
There’s a lot to be excited about in this update to Actions, and there’s lots more to come. Here are some of the highlights:
- Self-hosted runners. If you already have your own VMs within your data centers or as instances you manage in the cloud, you can use Actions to automate your workflows with the same simplicity and speed. Install the Actions runner on your VM and register them with Actions. Workloads that execute on self-hosted runners are free.
- Actions for GitHub Enterprise Server. Next year, we’ll make Actions available to our GitHub Enterprise Server customers, including a hybrid option for on-premises deployments that keeps your code and packages in your data center while GitHub orchestrates your workflows.
Sign up for the beta
We’re excited to make this new version of Actions available. Learn more and sign up for the beta, which is free now until we make Actions generally available at GitHub Universe on November 13.
Tags:
Written by
Related posts
Students: Start building your skills with the GitHub Foundations certification
The GitHub Foundations Certification exam fee is now waived for all students verified through GitHub Education.
Announcing GitHub Secure Open Source Fund: Help secure the open source ecosystem for everyone
Applications for the new GitHub Secure Open Source Fund are now open! Applications will be reviewed on a rolling basis until they close on January 7 at 11:59 pm PT. Programming and funding will begin in early 2025.
Software is a team sport: Building the future of software development together
Microsoft and GitHub are committed to empowering developers around the world to innovate, collaborate, and create solutions that’ll shape the next generation of technology.