GitHub Actions: Simplifying Arm-based Application Development
GitHub just made developing on Arm even easier. The developer program has announced the launch of GitHub-hosted runners for Arm, marking a significant advancement for developers building Arm-based applications. This will eliminate previous limitations and the need for maintaining separate infrastructure.
GitHub Actions, a vital tool for developers, automates software development tasks and streamlines workflows. Until recently, the lack of Arm Linux and Windows support for GitHub-hosted runners, the VM that carries out jobs for GitHub Actions workflow, was a limitation. This means developers building applications for Arm either had to manage their infrastructure or depend on sluggish instruction emulation.
How are GitHub’s Arm-Hosted Runners Boosting Efficiency?
With over 100 million developers on the platform, GitHub’s popularity is undeniable. At the same time, software developers are embracing the Arm architecture for its superior price performance and energy efficiency across a wide range of applications, including containerized workloads and Linux apps. Windows app developers are also incorporating Arm support to achieve native performance on Windows on Arm devices.
In recognizing the growing importance of the Arm ecosystem, the introduction of Arm-hosted runners for GitHub Actions, powered by Arm Neoverse, opens the next phase of streamlined development for Arm-based applications. This helps usher in a sphere of swift, efficient workflows for developers.
Top Benefits of Using Arm-Hosted Runners on GitHub
GitHub’s Arm-hosted runners offer significant benefits for developers:
- Native performance: Execute your build and test cycles directly on Arm Neoverse processors. This eliminates the overhead and complexities tied to instruction emulation and cross-compilation.
- Integrated Workflow: Experience a seamless integration within the familiar GitHub Actions environment, making your development process more straightforward.
- Cost-effectiveness: Enjoy the convenience and cost savings that come with GitHub’s hosted runner infrastructure.
Demystifying the Arm Software Ecosystem
The Arm software ecosystem offers robust support for a wide range of Linux distributions, programming languages, libraries, containers, CI/CD, and AI/ML frameworks. Over 95% of tools and software available in GitHub-hosted runner images are compatible with Arm.
While most developers won’t notice any differences from other architectures, there might be instances of a missing tool or software package depending on your specific application. For more information, the GitHub Actions Partner Runner Images repository provides comprehensive details about installed tools and software. It also serves as a platform for asking questions and requesting the installation of additional tools and software.
What can you do with Arm-native runners?
There are several applications for Arm-native runners; here are a few examples:
- Multi-architecture cloud-native applications: Develop containerized applications that run seamlessly on both x86 and Arm architectures, maximizing deployment flexibility.
- Use Cases that Advance Innovation: Streamline the development process for Arm-based Linux applications by building and testing within a single environment.
- Windows on Arm support: Create high-performance applications for the latest Windows on Arm devices.
- Automotive applications: Take advantage of instruction set parity between your build and test and deployment environments to avoid cross-compilation, streamlining the development of automotive software.
- Edge AI applications: Build and deploy GenAI applications using frameworks such as PyTorch and llama.cpp on Arm, enabling powerful edge AI capabilities.
Get Started
Arm runners are available to GitHub customers on the Team and Enterprise Cloud plans. To learn how to set up Arm-hosted runners watch Supercharge your CI/CD with Arm Runners in GitHub Actions or refer to the public documentation.
You can begin by creating a new Arm runner and changing the runs-on field in your workflow file to call the new runner.
Developer Resources
GitHub and Arm are providing developer resources to get started:
- Learning paths: Tutorials to help develop Arm software, including Build multi-architecture container images with GitHub-hosted runners
- Ecosystem dashboard for Arm: Information on the availability of Arm-compatible software, helping developers migrate to Arm.
- GitHub Actions partner runner images repository: List of available partner images and how to use them
Pricing
Please refer to GitHub’s billing documentation.
Open Source Projects
To provide open-source software projects with free credits to the Arm runners, we are expanding our Works on Arm initiative that provides free access to Arm-based instances in the cloud to provide free credits. You can request access using the Works on Arm GitHub repository. Requests will be evaluated on a case-by-case basis for the duration and amount of credits to be issued.
What’s next?
Additional images will be provided including a Windows on Arm image with more developer tools and a new Ubuntu 24.04 image. Additional tools and software for automotive and edge AI use cases will also be added.
Any re-use permitted for informational and non-commercial or personal use only.