📄️ Overview
This repository contains reusable GitHub Actions workflows that are used by most of the services and libraries written in different languages across our organization. The actions standardize and streamline the CI/CD pipeline by allowing the common build, test and release logic to be a modular and shareable workflow.
📄️ Why we need CI/CD
With the help of CI/CD (Continuous Integration and Continuous Development) we can automate the software development lifecycle and also reduce human error. All in all, it ensures that all changes are automatically built, tested, and packaged giving us the benefits of shipping reliable code faster.
📄️ List of Repos and their build action
The following is a comprehensive list of repositories and whether they have reusable or specific actions implemented:
📄️ Self-hosted Runner
We have configured one debix board as a self-hosted Runner for the Build GitHub workflow. We have done this for several reasons. Crucially the most important reasons is to have all the dependencies (such as OpenCV) installed on the device that builds the services. Cloning them on the remote GitHub server would be time consuming. Furthermore, the runner ensures consistency in building the services, meaning that if the service can be built on it, the chances are high that it will build and work on the rover's debix.
📄️ Synching the Docs
Our docs have a synching mechanism that is defined in the fetch-and-deploy workflow. It means that the docs look into all the repositories we use and gathers the files in their docs directories. Then it shows their documentations on the official ASE website under the Framework/Software tab.