Build Engineering

Codethink has been contributing and innovating in advanced software build engineering projects for over a decade. We understand the challenges of maintaining, constructing, testing and releasing complex software at scale.

Our work involves maximising throughput and productivity by reducing cycle times, increasing reliability and cutting wasted time end effort through better organisation, processes and tooling. We have particular expertise in CICD setup and operation, source mirroring, local and remote artifact caching, build sandboxing and operational scaling via remote execution.

Build Engineering Projects

Bazel Deployments At Scale

Engagements with a series of Fortune 500 technology companies to adapt their software build instructions to work with Bazel remote cache and build capabilities, dramatically increasing overall throughput and productivity, by reducing build and test times. Design and maintenance of distributed build and test backends to work with the build instructions, using a variety of technologies including Kubernetes, Redis and Amazon S3.

BuildGrid and BuildBox

Original development of BuildGrid and BuildBox. These projects provide sandboxing, runner and caching services and Python-based remote execution engine which comply with and implement Google’s Remote Workers API and Remote Execution API specifications for parallelized software build and other workloads at scale.

Chromium Embedded Framework

Implementation of the Chromium Embedded Framework package (libcef) for Buildroot, simplifying web browser integration to in-vehicle infotainment across multiple platforms for a leading automotive company.

Freedesktop-SDK

Design and maintenance of freedesktop-sdk. The freedesktop-sdk project provides a neutral Linux platform which can build flatpak runtimes, snaps, containers and images.

SOTA Integration

Integration of software over-the-air update platform (Mender) to smart waste management fleet based on NVIDIA Jetson TX2 using Yocto. Including fleet management demonstration, image creation, partition management and U-Boot changes.

CI/CD as a Service

Work to deliver a unified technology stack with CI/CDaaS for an international service-provider client, to be offered as a value-added solution to their customer base.

CMake Project Improvements

Improved build processes for a cross-compiled embedded Linux system and implemented artifact caching using client’s preferred technologies (CMake, Buildroot, Artifactory)

Jenkins Infrastructure Improvements

Support for various international-scale organizations to improve their build and integration processes, optimizing Jenkins-based systems to improve reliability, throughput and build times.

Supply Chain Source Mirroring

Implementation of a custom solution to provide multi-cloud, multi-region source code mirroring for an international-scale company. This re-used techniques from established open source projects combined our client's in-house CI/CD infrastructure to provide whole-of-life source code supply chain forensics capability on critical projects.

Software Integration Tooling

Creation of a minimalist open source software integration tool written in Python to construct embedded Linux-based operating system images for a range of applications including OpenStack and in-vehicle infotainment.

Get in touch to find out how Codethink can help you

sales@codethink.co.uk +44 161 660 9930