What is BeetleboxCI for CI/CD? See our demo now.

We’ve put together our first quick snippet for BeetleboxCI. The first CI/CD service specifically built for entire systems from embedded applications to server-class FPGA and ASIC.

If you would like to find out more please check out our product page.

You can also check out our youtube for more videos and upcoming more detailed videos.

Here is the full transcript:

BeetleboxCI is a pioneering continuous integration service that allows hardware, firmware and software engineering teams to build, test and deploy entire systems. This means building all the layers of a device ‘s technology stack starting from user applications going down to the firmware and even changing the hardware itself. BeetleboxCI is the only CI service that ensures developers will cut development time and confidently release entire systems on-schedule and at scale.

Here is how it works. When we login to BeetleboxCI we are immediately greeted to the dashboard, which provides an overview of everything currently taking place. To get started, let’s look at creating a pipeline on the pipelines page. A pipeline is essentially one single automated project that links to your code repositories. BeetleboxCI supports a range of these systems from Github to GitLab to even locally maintained Git repositories. We simply select ‘Create Pipeline’ and select the repository we want to add as a pipeline. Inside this repository is a configuration file that will tell BeetleboxCI exactly how to automate its builds and tests.

From this page, we are able to view the current status of all of pipelines. A typical BeetleboxCI pipeline will take source code, build and run it through simulation before then connecting the device and running tests on-chip. When a pipeline runs we are able to get real-time updates as to how it is progressing as well  as view when it was last triggered and how long it lasted. Let us take a closer look at one of these pipelines

In this view, we can manage all our different workflows. A workflow is a series of tasks or jobs that need to be executed. Here we can see a full history of every workflow. Developers are able to monitor the status of the workflows, when they were run, how long they took and what code commit they refer to. We are also able to run a new workflow through the play button at the top and can also halt any currently running workflows through the stop button.
 
In the Scheduled tabs, we can see workflows that are scheduled to run in the future. In development, it is common for teams to regularly run builds and tests over night or over the weekend.
 On top of this, we can have independent working areas of our code repositories known as branches that have completely separate workflows. This allows developers to have new features or code changes fully tested before adding to the main project.
 
Let’s now look deeper at one of these workflows on the main branch.
 
Each workflow has an overall status and runtime as well as information on the code repository. We can even monitor the current CPU and RAM usage and view any files generated by this workflow that are stored on the server as artifacts.
 
Every workflow is made of a number of jobs that run completely independently of one another in separate containers. BeetleboxCI orchestrates running these jobs to run in parallel, so that servers are fully utilized and developers are able to test as efficiently as their infrastructure allows.
 
If one job is reliant on another, we are able to tell say that there is a dependency and to wait until the needed jobs have finished. We will now look closer at a job.

A job is made of a series of commands that all execute within the same work environment one after another. These steps could be anything from executing compilations to checking logs for correct results. Similar to workflows, we are able to see the current status of the job as well as how long it has been running for. We are also able to view the current computing resources used and how many artifacts it has produced. We are also provided with an overview of the results of all steps within the job.
 
In the log section we can see the various steps and their status. When we click on one of these steps  we are provided with the output of the steps. In the artifacts section, we can view and download the artifacts generated by the job. Typically, artifacts tend to be the output files for builds or raw data from tests.

And that is a brief overview of BeetleboxCI. The first continuous integration service built specifically for the entire system stack. Our platform enables hardware, firmware or software engineers to reduce development time and ship products with more confidence than ever before.

If you are interested in learning more about how we can automate your development process, please feel free to reach out to us through our website.”

Leave a Reply