summaryrefslogtreecommitdiff
path: root/builder
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2026-03-08 11:50:39 +0100
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2026-03-08 11:50:39 +0100
commit2134fa034fb3968fa4c468e60eadbb739fa72dad (patch)
treead64b471625d87d680010b2ebd7d666b65c3267e /builder
parent58468fc093d08f03ad5a4ccb26a8dc435cd848c4 (diff)
fix: reduce git size
Diffstat (limited to 'builder')
-rw-r--r--builder/Dockerfile41
-rwxr-xr-xbuilder/release.sh2
2 files changed, 30 insertions, 13 deletions
diff --git a/builder/Dockerfile b/builder/Dockerfile
index d21ba24..f1406e2 100644
--- a/builder/Dockerfile
+++ b/builder/Dockerfile
@@ -1,10 +1,15 @@
FROM --platform=linux/amd64 golang:1.26.0-bookworm AS builder_base
+
WORKDIR /w
RUN apt update \
&& apt install -y git clang llvm gcc g++ sudo \
+ && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
- && useradd -ms /bin/bash user
+ && useradd -ms /bin/bash user \
+ && adduser user sudo \
+ && chown user:user /w \
+ && chmod 775 /w
USER user
@@ -14,7 +19,8 @@ RUN git config --global user.email "monero_c@mrcyjanek.net" \
FROM builder_base AS contrib_simplybs
COPY contrib/depends /w/contrib/depends
-RUN cd /w/contrib/depends \
+RUN sudo chown -R user:user /w \
+ && cd /w/contrib/depends \
&& make simplybs \
&& make HOST=aarch64-linux-android \
&& make HOST=aarch64-linux-android BOOST_VERSION=1_83_0 \
@@ -37,63 +43,74 @@ RUN cd /w/contrib/depends \
FROM builder_base AS monero_c_base
COPY . /w
+RUN sudo chown -R user:user /w
RUN git submodule update --init --force --recursive \
&& ./apply_patches.sh monero \
&& ./apply_patches.sh wownero \
&& ./apply_patches.sh zano
FROM monero_c_base AS monero_c_aarch64_linux_android
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh zano aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_x86_64_linux_android
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh zano x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_armv7a_linux_androideabi
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh zano armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_aarch64_linux_gnu
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero aarch64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero aarch64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_x86_64_linux_gnu
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero x86_64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero x86_64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_x86_64_apple_darwin
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero x86_64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero x86_64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_aarch64_apple_darwin
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero aarch64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero aarch64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_aarch64_apple_ios
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh zano aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_aarch64_apple_ios-simulator
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh zano aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup
FROM monero_c_base AS monero_c_x86_64-w64-mingw32
-COPY --from=builder /w/contrib/depends /w/contrib/depends
+COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends
+RUN sudo chown -R user:user /w
RUN ./build_single.sh monero x86_64-w64-mingw32 -j$(nproc) && cd contrib/depends && make sbs-cleanup
RUN ./build_single.sh wownero x86_64-w64-mingw32 -j$(nproc) && cd contrib/depends && make sbs-cleanup
diff --git a/builder/release.sh b/builder/release.sh
index f240bac..a6a830c 100755
--- a/builder/release.sh
+++ b/builder/release.sh
@@ -5,7 +5,7 @@ cd $(dirname $0)
cd ..
img=localhost/monero_c:$(git describe --tags)
-docker build -t $img -f ./builder/Dockerfile
+docker build -t $img -f ./builder/Dockerfile .
docker create --name temp_extract $img