An open API service indexing awesome lists of open source software.

https://github.com/xrplf/ci

Images and workflows for use by CI pipelines.
https://github.com/xrplf/ci

Last synced: 5 months ago
JSON representation

Images and workflows for use by CI pipelines.

Awesome Lists containing this project

README

          

# CI

Containers for use by CI pipelines in XRPLF projects.

## Build images

Container images created by `debian` `rhel` and `ubuntu` workflows are meant to provide minimum
appropriate build environment for select XRPLF projects, notably [clio](https://github.com/XRPLF/clio)
and [rippled](https://github.com/XRPLF/rippled). These images contain tools required
to build, run unit tests, and package different XRPLF projects. By using the same set of images
for different projects, we are enforcing that XRPLF projects can be built in a wide selection
of environments and using different C++ compilers.

[Ubuntu instructions](docker/ubuntu/README.md)
[Debian instructions](docker/debian/README.md)
[RHEL instructions](docker/rhel/README.md)

### Packaging

Only some of the container images provided support packaging.

## Compiler images

Container images created by `gcc` workflow are a [backport](https://github.com/docker-library/gcc) of
official Docker images for [GNU Compiler Collection](https://hub.docker.com/_/gcc). The official images
are built on a most recent official Debian release, which results in coupling to a higher
[GLIBC](https://sourceware.org/glibc/) version than the versions which we want to support.
The purpose of `gcc` images created in this repository is to provide most recent releases of
the GCC compiler for older Debian (and derived distros) versions. These are in turn used
by some of the Debian [build images](#build-images).

## Tools images

Aside from build and compiler images, XRPLF projects also use container images with specialized tools,
e.g. to enforce code formatting, run sanitizers etc.
The required images are created by workflows starting with `tools-` and ending
with the project name e.g. `tools-rippled`, and are only meant to support specific projects.
These images may also contain a complete C++ build environment, if needed.