bx-github-ci
bx-github-ci copied to clipboard
GitHub Actions CI workflow with IAR Build Tools for Arm using self-hosted Linux runners
IAR Build Tools for Arm on GitHub Actions using Linux runners
Disclaimer The information provided in this tutorial is subject to change without notice and does not represent a commitment on any part of IAR. While the information contained herein is useful as reference for DevOps Engineers willing to implement CI/CD using IAR Tools, IAR assumes no responsibility for any errors, omissions or particular implementations.
Introduction
From a CI/CD perspective, the IAR Build Tools for Arm comes with everything you need to build embedded firmware projects from the command line. This tutorial provides a simple example with general guidelines on how to set up a CI/CD pipeline using GitHub Actions while taking advantage of the so-called GitHub self-hosted runners.
In case you need an introduction on how to get started with GitHub, use Quickstart.
Prerequisites
Before you begin, you will need to download and install the following:
- IAR Build Tools for Arm 9.50.1 for Ubuntu 22.04 x64 (
bxarm-9.50.1.deb
)- IAR customers can download it directly from IAR MyPages. If you do not have a license, contact sales.
You also will need:
- A GitHub organization account
- or a GitHub enterprise account.
Quickstart
Under your organization's GitHub account:
- Go to Import repository.
- Fill Your old repository's clone URL with this repository's URL.
- Set the Repository name as of your liking.
- Make it 🔘 Private. Why?
- Finally click Begin import.
Once the importing process is complete, a message will show up Your new repository <organization>/<repo> is ready
. The message will provide a link to jump to the new repository.
GitHub Actions pipeline example
On your private repository, navigate to the .github/workflows/bxarm.yml
workflow file. This file uses the GitHub-flavored YAML syntax to describe a pipeline containing multiple jobs found in a typical embedded firmware project.
Refer to the .github/workflows/bxarm.yml
workflow file for detailed comments.
Adding runners to the organization
With GitHub Actions is straightforward enabling a self-hosted runner on a Linux build node where the IAR Build Tools for Arm was installed:
- Navigate to your Organization's (
<org>
) settings page to setup a new runnerhttps://github.com/<org>/settings/actions/runners/new
. - Select
Linux
as the Operating System. - Select the
x64
Architecture. - Follow the GitHub-provided instructions on the page to download and configure the runner[^1].
You can have as many parallel build nodes with runners as your license allows you to. Contact sales for expanding your build capacity.
FAQ
How do I make the runner to survive a reboot?
In order to learn how to install the runner as a service, use this link.Issues
Use the public issue tracker:
- If you found an issue or have a suggestion specifically related to this tutorial, do not forget to take a look at earlier issues.
- If creating a new issue, please describe it in detail.
Do not use the public issue tracker:
- If you need technical support. The public issue tracker is not a support forum.
- If you have license issues. Contact IAR Customer Care.
- If you have tools issues. Contact IAR Tech Support.
Summary
This tutorial provided an overview on how to get started with the IAR Build Tools for Arm on GitHub Actions using Linux runners, from where development teams can immediately benefit from holistic feedbacks these modern workflows provide to quickly build, analyze, test and deploy with quality.
Follow us
on GitHub to get updates about tutorials like this and more.
[^1]: From the default installation, the runners become available organization-wide, for all its repositories. These can be grouped and managed as desired.