@@ -47,9 +47,59 @@ COPY . .
47
47
# and not `cmd`.
48
48
RUN GOPATH=/artifacts go install -ldflags="-s -w -X 'main.Version=${VERSION}'" ./tools/...
49
49
50
+ FROM nvidia/cuda:12.5.0-base-ubi8 AS packaging
51
+
52
+ ARG ARTIFACTS_ROOT
53
+ COPY ${ARTIFACTS_ROOT} /artifacts/packages/
54
+
55
+ WORKDIR /artifacts/packages
56
+
57
+ # build-args are added to the manifest.txt file below.
58
+ ARG PACKAGE_DIST
59
+ ARG PACKAGE_VERSION
60
+ ARG GIT_BRANCH
61
+ ARG GIT_COMMIT
62
+ ARG GIT_COMMIT_SHORT
63
+ ARG SOURCE_DATE_EPOCH
64
+ ARG VERSION
65
+
66
+ # Create a manifest.txt file with the absolute paths of all deb and rpm packages in the container
67
+ RUN echo "#IMAGE_EPOCH=$(date '+%s')" > /artifacts/manifest.txt && \
68
+ env | sed 's/^/#/g' >> /artifacts/manifest.txt && \
69
+ find /artifacts/packages -iname '*.deb' -o -iname '*.rpm' >> /artifacts/manifest.txt
70
+
71
+ RUN mkdir /licenses && mv /NGC-DL-CONTAINER-LICENSE /licenses/NGC-DL-CONTAINER-LICENSE
72
+
73
+
74
+ FROM nvidia/cuda:12.5.0-base-ubi8 AS rpmpackages
75
+ RUN dnf install -y cpio
76
+
77
+ ARG TARGETARCH
78
+ ARG PACKAGE_DIST_RPM=centos7
79
+ ENV PACKAGE_ARCH ${TARGETARCH}
80
+
81
+ WORKDIR /tmp
82
+ COPY --from=packaging /artifacts/packages/${PACKAGE_DIST_RPM}/* /tmp/rpm-packages/
83
+
84
+ RUN PACKAGE_ARCH=${PACKAGE_ARCH/amd64/x86_64} \
85
+ for p in $(ls /tmp/rpm-packages/${PACKAGE_ARCH}/*.rpm); do rpm2cpio $p | cpio -idmv -D /artifacts/rpm/; done
86
+
87
+ FROM nvidia/cuda:12.5.0-base-ubuntu20.04 AS debpackages
88
+
89
+ ARG TARGETARCH
90
+ ARG PACKAGE_DIST_DEB=ubuntu18.04
91
+ ENV PACKAGE_ARCH ${TARGETARCH}
92
+
93
+ WORKDIR /tmp
94
+ COPY --from=packaging /artifacts/packages/${PACKAGE_DIST_DEB}/* /tmp/deb-packages/
95
+
96
+ RUN for p in $(ls /tmp/deb-packages/${PACKAGE_ARCH}/*.deb); do dpkg-deb -xv $p /artifacts/deb/; done
50
97
51
98
FROM nvidia/cuda:12.5.0-base-ubi8
52
99
100
+ COPY --from=rpmpackages /artifacts/rpm /artifacts/rpm
101
+ COPY --from=debpackages /artifacts/deb /artifacts/deb
102
+
53
103
ENV NVIDIA_DISABLE_REQUIRE="true"
54
104
ENV NVIDIA_VISIBLE_DEVICES=void
55
105
ENV NVIDIA_DRIVER_CAPABILITIES=utility
0 commit comments