Skip to content

CARMA Builds is a component of the CARMA ecosystem, which enables such a coordination among different transportation users. This component provides Docker images used to build other projects within CARMA.

Notifications You must be signed in to change notification settings

usdot-fhwa-stol/carma-builds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CARMA Builds is a component of the CARMA ecosystem, which enables such a coordination among different transportation users. This component provides Docker images used to build other projects within CARMA.

CI Status

This badge is for the default branch only.

Docker Build

Features

The image built from this project can be used to build C++ libraries and executables for the CARMA ecosystem. It provides the following features:

  • Adding the CARMA apt repository to the list of sources
  • Pre-installed packages for cmake and build-essential
  • Pre-installed packages for Google Test and Mock
  • Images for x64 and arm cross compile builds with arm using the strategy defined here: https://wiki.debian.org/Multiarch/HOWTO
  • Set of CMake helper files for the following functions:
    • Common source directory layout support (include, src, test)
    • Common install path setup for /opt/carma
    • Installation
    • CPM.cmake a cross-platform CMake script that adds dependency management capabilities to CMake
      • Allows you to pull in and build CMake dependencies that have git repos.

      [!IMPORTANT]
      Depends on git which is now added to carma-builds-x64 base image

    • CPack CMake Debian packaging
    • Google Test support and test run during build
    • Code coverage generation using gcovr
  • Dependencies install script which can install dependent packages and search a CMake file for those dependencies.
  • Build script which does an out of source build and may be used in VS Code as the default build task. It has the following compilation modes:
    • Release (default)
    • Debug
    • Code Coverage

Access

To use the image you will need to login to the GitHub Conatiner Registry and pull the image using these steps:

  • Create a GitHub Personal Access Token with read access to packages.
  • On the host you want to use the image on run docker login ghcr.io to authenticate to the GHCR.
  • Provide your GitHub user name and the token as the password.
  • You should now be able to run docker pull ghcr.io/usdot-fhwa-stol/carma-builds-x64

TODO

  • Dependency management - dev vs non-dev, mapping - May be good?
  • Shared License - cannot currently put copyright in a Debian package with CPack

These items are likely done in a template repository:

Contact

Please click on the CARMA logo below to visit the Federal Highway Adminstration(FHWA) CARMA website. For technical support from the CARMA team, please contact the CARMA help desk at CAVSupportServices@dot.gov.

CARMA Image

About

CARMA Builds is a component of the CARMA ecosystem, which enables such a coordination among different transportation users. This component provides Docker images used to build other projects within CARMA.

Resources

Stars

Watchers

Forks

Packages