Skip to content

Commit e4fc8fb

Browse files
authored
Add rust compiler to linux docker images (#84)
1 parent 0fc01b6 commit e4fc8fb

File tree

9 files changed

+50
-0
lines changed

9 files changed

+50
-0
lines changed

.github/workflows/debian.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ env:
3131
GCOVR_VERSION: 8.3
3232
CMAKE_VERSION: 4.1.0
3333
MOLD_VERSION: 2.40.4
34+
RUST_VERSION: 1.91.1
3435
FALLBACK_GCC: 12
3536
FALLBACK_CLANG: 16
3637

@@ -154,6 +155,7 @@ jobs:
154155
GCOVR_VERSION=${{ env.GCOVR_VERSION }}
155156
CMAKE_VERSION=${{ env.CMAKE_VERSION }}
156157
MOLD_VERSION=${{ env.MOLD_VERSION }}
158+
RUST_VERSION=${{ env.RUST_VERSION }}
157159
DEBIAN_VERSION=${{ matrix.os.release }}
158160
BASE_IMAGE=${{ env.CONTAINER_IMAGE_GCC && format('{0}:{1}-{2}', env.CONTAINER_IMAGE_GCC, matrix.os.compiler_version, matrix.os.release) || format('gcc:{0}-{1}', matrix.os.compiler_version, matrix.os.release) }}
159161
context: .

.github/workflows/rhel.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ env:
3131
GCOVR_VERSION: 8.3
3232
CMAKE_VERSION: 4.1.0
3333
MOLD_VERSION: 2.40.4
34+
RUST_VERSION: 1.91.1
3435

3536
jobs:
3637
# Build the Docker image for Red Hat Enterprise Linux using different versions
@@ -122,6 +123,7 @@ jobs:
122123
GCOVR_VERSION=${{ env.GCOVR_VERSION }}
123124
CMAKE_VERSION=${{ env.CMAKE_VERSION }}
124125
MOLD_VERSION=${{ env.MOLD_VERSION }}
126+
RUST_VERSION=${{ env.RUST_VERSION }}
125127
RHEL_VERSION=${{ matrix.os.release }}
126128
context: .
127129
file: docker/rhel/Dockerfile

.github/workflows/ubuntu.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ env:
3131
GCOVR_VERSION: 8.3
3232
CMAKE_VERSION: 4.1.0
3333
MOLD_VERSION: 2.40.4
34+
RUST_VERSION: 1.91.1
3435
FALLBACK_GCC: 12
3536
FALLBACK_CLANG: 16
3637

@@ -122,6 +123,7 @@ jobs:
122123
GCOVR_VERSION=${{ env.GCOVR_VERSION }}
123124
CMAKE_VERSION=${{ env.CMAKE_VERSION }}
124125
MOLD_VERSION=${{ env.MOLD_VERSION }}
126+
RUST_VERSION=${{ env.RUST_VERSION }}
125127
UBUNTU_VERSION=${{ matrix.os.release }}
126128
context: .
127129
file: docker/ubuntu/Dockerfile

docker/debian/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ unzip awscli.zip
9696
rm -rf awscli.zip aws
9797
EOF
9898

99+
# Install rust.
100+
ARG RUST_VERSION
101+
RUN <<EOF
102+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=${RUST_VERSION}
103+
EOF
104+
99105
# Print versions.
100106
RUN <<EOF
101107
aws --version
@@ -106,6 +112,10 @@ gcovr --version
106112
ld.gold --version
107113
mold --version
108114
python3 --version
115+
. ~/.bashrc
116+
. ~/.cargo/env
117+
rustc --version
118+
cargo --version
109119
EOF
110120

111121
# ====================== GCC IMAGE ======================

docker/debian/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ CONAN_VERSION=2.22.2
4242
GCOVR_VERSION=8.3
4343
CMAKE_VERSION=4.1.0
4444
MOLD_VERSION=2.40.4
45+
RUST_VERSION=1.91.1
4546
CONTAINER_IMAGE=ghcr.io/xrplf/ci/debian-${DEBIAN_VERSION}:gcc-${GCC_VERSION}
4647

4748
docker buildx build . \
@@ -55,6 +56,7 @@ docker buildx build . \
5556
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
5657
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
5758
--build-arg MOLD_VERSION=${MOLD_VERSION} \
59+
--build-arg RUST_VERSION=${RUST_VERSION} \
5860
--tag ${CONTAINER_IMAGE}
5961
```
6062

@@ -68,6 +70,7 @@ CONAN_VERSION=2.22.2
6870
GCOVR_VERSION=8.3
6971
CMAKE_VERSION=4.1.0
7072
MOLD_VERSION=2.40.4
73+
RUST_VERSION=1.91.1
7174
BASE_IMAGE=ghcr.io/xrplf/ci/gcc:12-bullseye
7275
CONTAINER_IMAGE=ghcr.io/xrplf/ci/debian-${DEBIAN_VERSION}:gcc-${GCC_VERSION}
7376

@@ -82,6 +85,7 @@ docker buildx build . \
8285
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
8386
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
8487
--build-arg MOLD_VERSION=${MOLD_VERSION} \
88+
--build-arg RUST_VERSION=${RUST_VERSION} \
8589
--build-arg BASE_IMAGE=${BASE_IMAGE} \
8690
--tag ${CONTAINER_IMAGE}
8791
```
@@ -98,6 +102,7 @@ CONAN_VERSION=2.22.2
98102
GCOVR_VERSION=8.3
99103
CMAKE_VERSION=4.1.0
100104
MOLD_VERSION=2.40.4
105+
RUST_VERSION=1.91.1
101106
CONTAINER_IMAGE=ghcr.io/xrplf/ci/debian-${DEBIAN_VERSION}:clang-${CLANG_VERSION}
102107

103108
docker buildx build . \
@@ -111,6 +116,7 @@ docker buildx build . \
111116
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
112117
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
113118
--build-arg MOLD_VERSION=${MOLD_VERSION} \
119+
--build-arg RUST_VERSION=${RUST_VERSION} \
114120
--tag ${CONTAINER_IMAGE}
115121
```
116122

docker/rhel/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ unzip awscli.zip
110110
rm -rf awscli.zip aws
111111
EOF
112112

113+
# Install rust.
114+
ARG RUST_VERSION
115+
RUN <<EOF
116+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=${RUST_VERSION}
117+
EOF
118+
113119
# Print versions.
114120
RUN <<EOF
115121
aws --version
@@ -120,6 +126,10 @@ gcovr --version
120126
ld.gold --version
121127
mold --version
122128
python3 --version
129+
. ~/.bashrc
130+
. ~/.cargo/env
131+
rustc --version
132+
cargo --version
123133
EOF
124134

125135
# ====================== GCC IMAGE ======================

docker/rhel/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CONAN_VERSION=2.22.2
2929
GCOVR_VERSION=8.3
3030
CMAKE_VERSION=4.1.0
3131
MOLD_VERSION=2.40.4
32+
RUST_VERSION=1.91.1
3233
CONTAINER_IMAGE=ghcr.io/xrplf/ci/rhel-${RHEL_VERSION}:gcc-${GCC_VERSION}
3334

3435
docker buildx build . \
@@ -41,6 +42,7 @@ docker buildx build . \
4142
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
4243
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
4344
--build-arg MOLD_VERSION=${MOLD_VERSION} \
45+
--build-arg RUST_VERSION=${RUST_VERSION} \
4446
--build-arg RHEL_VERSION=${RHEL_VERSION} \
4547
--tag ${CONTAINER_IMAGE}
4648
```
@@ -56,6 +58,7 @@ CONAN_VERSION=2.22.2
5658
GCOVR_VERSION=8.3
5759
CMAKE_VERSION=4.1.0
5860
MOLD_VERSION=2.40.4
61+
RUST_VERSION=1.91.1
5962
CONTAINER_IMAGE=ghcr.io/xrplf/ci/rhel-${RHEL_VERSION}:clang-any
6063

6164
docker buildx build . \
@@ -67,6 +70,7 @@ docker buildx build . \
6770
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
6871
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
6972
--build-arg MOLD_VERSION=${MOLD_VERSION} \
73+
--build-arg RUST_VERSION=${RUST_VERSION} \
7074
--build-arg RHEL_VERSION=${RHEL_VERSION} \
7175
--tag ${CONTAINER_IMAGE}
7276
```

docker/ubuntu/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ unzip awscli.zip
8282
rm -rf awscli.zip aws
8383
EOF
8484

85+
# Install rust.
86+
ARG RUST_VERSION
87+
RUN <<EOF
88+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=${RUST_VERSION}
89+
EOF
90+
8591
# Print versions.
8692
RUN <<EOF
8793
aws --version
@@ -92,6 +98,10 @@ gcovr --version
9298
ld.gold --version
9399
mold --version
94100
python3 --version
101+
. ~/.bashrc
102+
. ~/.cargo/env
103+
rustc --version
104+
cargo --version
95105
EOF
96106

97107
# ====================== GCC IMAGE ======================

docker/ubuntu/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ CONAN_VERSION=2.22.2
2828
GCOVR_VERSION=8.3
2929
CMAKE_VERSION=4.1.0
3030
MOLD_VERSION=2.40.4
31+
RUST_VERSION=1.91.1
3132
CONTAINER_IMAGE=ghcr.io/xrplf/ci/ubuntu-${UBUNTU_VERSION}:gcc-${GCC_VERSION}
3233

3334
docker buildx build . \
@@ -40,6 +41,7 @@ docker buildx build . \
4041
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
4142
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
4243
--build-arg MOLD_VERSION=${MOLD_VERSION} \
44+
--build-arg RUST_VERSION=${RUST_VERSION} \
4345
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \
4446
--tag ${CONTAINER_IMAGE}
4547
```
@@ -56,6 +58,7 @@ CONAN_VERSION=2.22.2
5658
GCOVR_VERSION=8.3
5759
CMAKE_VERSION=4.1.0
5860
MOLD_VERSION=2.40.4
61+
RUST_VERSION=1.91.1
5962
CONTAINER_IMAGE=ghcr.io/xrplf/ci/ubuntu-${UBUNTU_VERSION}:clang-${CLANG_VERSION}
6063

6164
docker buildx build . \
@@ -68,6 +71,7 @@ docker buildx build . \
6871
--build-arg GCOVR_VERSION=${GCOVR_VERSION} \
6972
--build-arg CMAKE_VERSION=${CMAKE_VERSION} \
7073
--build-arg MOLD_VERSION=${MOLD_VERSION} \
74+
--build-arg RUST_VERSION=${RUST_VERSION} \
7175
--build-arg UBUNTU_VERSION=${UBUNTU_VERSION} \
7276
--tag ${CONTAINER_IMAGE}
7377
```

0 commit comments

Comments
 (0)