This directory contains the base dockerfiles used for development in containers and scripts that install the necessary dependencies for these images.
The Dockerfiles here must be manually published to Docker Hub so that they can be reused in CIs and save time building containers. To publish manually, use the Dockerfile: Build and Push Manually workflow. Stable images must be labeled with the latest
tag, and development images are always labeled with the manual-
prefix. The context
for the workflow is the root of the repository; i.e, for an image located in this directory, it is equivalent to running:
docker build -f containers/<Dockerfile> .
See: RobôCIn's Docker Hub for the published images and Development Containers Images for the standard base images.
The base image for C++ development with ssl-core
.
The base image for Python development with ssl-core
.
The base image for C++ gRPC development with ssl-core
.
The base image for Mbed OS Embedded development with ssl-core
, based on ARMmbed/mbed-os-docker-images.
The base image for Golang development with ssl-core
.
Install Google Benchmark library.
-
Arguments:
library_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash benchmark.sh <library_directory>
Install Buf CLI.
-
Arguments:
version
: The version of Buf to install.executable_directory
: The directory where the executable will be installed- default:
/usr/local/bin
- default:
-
Usage:
bash buf.sh <version> <executable_directory>
Install CMake build system.
-
Arguments:
version
: The version of CMake to install
-
Usage:
bash cmake.sh <version>
Install cppzmq library.
-
Arguments:
version
: The version of cppzmq to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash cppzmq.sh <version> <library_directory>
Note: The
cppzmq
library must be installed after and in the same directory as thelibzmq
library.
Install GCC compiler.
-
Arguments:
version
: The version of GCC to install
-
Usage:
bash gcc.sh <version>
Install GoogleTest library.
Note: GoogleTest follows the Abseil Live at Head philosophy, which means that it is always in a stable state and any changes are always backwards compatible.
-
Arguments:
version
: The version of GoogleTest to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash googletest.sh <version> <library_directory>
Install libzmq library.
-
Arguments:
version
: The version of libzmq to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash libzmq.sh <version> <library_directory>
Install LLVM tools: clang
, clang++
, clang-format
, clang-tidy
, clangd
.
-
Arguments:
version
: The version of LLVM to install
-
Usage:
bash llvm.sh <version>
Install Ninja build system.
-
Arguments:
version
: The version of Ninja to install
-
Usage:
bash ninja.sh <version>
Install Protocol Buffers library.
-
Arguments:
version
: The version of protobuf to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash protobuf.sh <version> <directory>
Install Protocol Buffers compiler.
-
Arguments:
version
: The version of protoc to installdirectory
: The directory where thebin
andinclude
directories will be installed- default:
/usr/local
- default:
bash protoc.sh <version> <library_directory>
Install Abseil libraries.
-
Arguments:
library_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash absl.sh <library_directory>
Install gRPC framework.
-
Arguments:
version
: The version of libzmq to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash grpc.sh <version> <library_directory>
Install arm-none-eabi-gcc, the Arm GNU Toolchain.
-
Arguments:
version
: The version of arm-none-eabi-gcc to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash arm-none-eabi-gcc.sh <version> <library_directory>
Install nanopb, the plain-C protobuf library.
-
Arguments:
version
: The version of nanopb to installlibrary_directory
: The directory where the library will be installed- default:
/usr/local
- default:
-
Usage:
bash nanopb.sh <version> <library_directory>