mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 11:55:51 +00:00 
			
		
		
		
	ci: Add mold to tools image (#2301)
Work on: https://github.com/XRPLF/clio/issues/1242
This commit is contained in:
		
							
								
								
									
										3
									
								
								.github/workflows/update_docker_ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/update_docker_ci.yml
									
									
									
									
										vendored
									
									
								
							@@ -197,6 +197,7 @@ jobs:
 | 
			
		||||
  tools:
 | 
			
		||||
    name: Build and push tools docker image
 | 
			
		||||
    runs-on: heavy
 | 
			
		||||
    needs: [gcc-merge]
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
@@ -220,6 +221,8 @@ jobs:
 | 
			
		||||
            type=raw,value=latest
 | 
			
		||||
            type=raw,value=${{ github.sha }}
 | 
			
		||||
          platforms: linux/amd64,linux/arm64
 | 
			
		||||
          build_args: |
 | 
			
		||||
            GCC_VERSION=${{ env.GCC_VERSION }}
 | 
			
		||||
 | 
			
		||||
  ci:
 | 
			
		||||
    name: Build and push CI docker image
 | 
			
		||||
 
 | 
			
		||||
@@ -6,13 +6,14 @@ It is used in [Clio Github Actions](https://github.com/XRPLF/clio/actions) but c
 | 
			
		||||
The image is based on Ubuntu 20.04 and contains:
 | 
			
		||||
 | 
			
		||||
- ccache 4.11.3
 | 
			
		||||
- clang 19
 | 
			
		||||
- Clang 19
 | 
			
		||||
- ClangBuildAnalyzer 1.6.0
 | 
			
		||||
- conan 2.17.0
 | 
			
		||||
- doxygen 1.12
 | 
			
		||||
- gcc 12.3.0
 | 
			
		||||
- Conan 2.17.0
 | 
			
		||||
- Doxygen 1.12
 | 
			
		||||
- GCC 12.3.0
 | 
			
		||||
- gh 2.74
 | 
			
		||||
- git-cliff 2.9.1
 | 
			
		||||
- mold 2.40.1
 | 
			
		||||
- and some other useful tools
 | 
			
		||||
 | 
			
		||||
Conan is set up to build Clio without any additional steps.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,40 @@
 | 
			
		||||
FROM ubuntu:20.04
 | 
			
		||||
ARG GCC_VERSION=invalid
 | 
			
		||||
 | 
			
		||||
FROM ghcr.io/xrplf/clio-gcc:${GCC_VERSION}
 | 
			
		||||
 | 
			
		||||
ARG DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
ARG TARGETARCH
 | 
			
		||||
 | 
			
		||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 | 
			
		||||
 | 
			
		||||
ARG BUILD_VERSION=0
 | 
			
		||||
 | 
			
		||||
RUN apt-get update \
 | 
			
		||||
    && apt-get install -y --no-install-recommends --no-install-suggests \
 | 
			
		||||
        bison \
 | 
			
		||||
        build-essential \
 | 
			
		||||
        cmake \
 | 
			
		||||
        flex \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-pip \
 | 
			
		||||
        software-properties-common \
 | 
			
		||||
        wget \
 | 
			
		||||
    && pip3 install -q --no-cache-dir \
 | 
			
		||||
        cmake==3.31.6 \
 | 
			
		||||
    && apt-get clean \
 | 
			
		||||
    && rm -rf /var/lib/apt/lists/*
 | 
			
		||||
 | 
			
		||||
WORKDIR /tmp
 | 
			
		||||
 | 
			
		||||
ARG MOLD_VERSION=2.40.1
 | 
			
		||||
RUN wget --progress=dot:giga "https://github.com/rui314/mold/archive/refs/tags/v${MOLD_VERSION}.tar.gz" \
 | 
			
		||||
    && tar xf "v${MOLD_VERSION}.tar.gz" \
 | 
			
		||||
    && cd "mold-${MOLD_VERSION}" \
 | 
			
		||||
    && mkdir build \
 | 
			
		||||
    && cd build \
 | 
			
		||||
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
			
		||||
    && ninja install \
 | 
			
		||||
    && rm -rf /tmp/* /var/tmp/*
 | 
			
		||||
 | 
			
		||||
ARG CCACHE_VERSION=4.11.3
 | 
			
		||||
RUN wget --progress=dot:giga "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" \
 | 
			
		||||
    && tar xf "ccache-${CCACHE_VERSION}.tar.gz" \
 | 
			
		||||
@@ -26,7 +42,7 @@ RUN wget --progress=dot:giga "https://github.com/ccache/ccache/releases/download
 | 
			
		||||
    && mkdir build \
 | 
			
		||||
    && cd build \
 | 
			
		||||
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=False .. \
 | 
			
		||||
    && cmake --build . --target install \
 | 
			
		||||
    && ninja install \
 | 
			
		||||
    && rm -rf /tmp/* /var/tmp/*
 | 
			
		||||
 | 
			
		||||
ARG DOXYGEN_VERSION=1.12.0
 | 
			
		||||
@@ -36,7 +52,7 @@ RUN wget --progress=dot:giga "https://github.com/doxygen/doxygen/releases/downlo
 | 
			
		||||
    && mkdir build \
 | 
			
		||||
    && cd build \
 | 
			
		||||
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
			
		||||
    && cmake --build . --target install \
 | 
			
		||||
    && ninja install \
 | 
			
		||||
    && rm -rf /tmp/* /var/tmp/*
 | 
			
		||||
 | 
			
		||||
ARG CLANG_BUILD_ANALYZER_VERSION=1.6.0
 | 
			
		||||
@@ -46,7 +62,7 @@ RUN wget --progress=dot:giga "https://github.com/aras-p/ClangBuildAnalyzer/archi
 | 
			
		||||
    && mkdir build \
 | 
			
		||||
    && cd build \
 | 
			
		||||
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
			
		||||
    && cmake --build . --target install \
 | 
			
		||||
    && ninja install \
 | 
			
		||||
    && rm -rf /tmp/* /var/tmp/*
 | 
			
		||||
 | 
			
		||||
ARG GIT_CLIFF_VERSION=2.9.1
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user