From 840375cabf763f0fab8a86f708af6467b269625a Mon Sep 17 00:00:00 2001
From: ljoonal <ljoonal@ljoonal.xyz>
Date: Sat, 31 Dec 2022 17:02:07 +0200
Subject: [PATCH] Try to simplify alpine images by using binstall

---
 Dockerfile.alpine         | 25 ++++++++-----------------
 Dockerfile.nightly-alpine | 27 ++++++++-------------------
 2 files changed, 16 insertions(+), 36 deletions(-)

diff --git a/Dockerfile.alpine b/Dockerfile.alpine
index b461969..8bad6f7 100644
--- a/Dockerfile.alpine
+++ b/Dockerfile.alpine
@@ -2,26 +2,17 @@ FROM rust:alpine
 
 LABEL org.opencontainers.image.authors="ljoonal"
 
+RUN apk add --no-cache musl-dev
+
 # Add rust components
 RUN rustup component add clippy rustfmt
 
-# Cargo spellcheck
-RUN wget https://github.com/drahnr/cargo-spellcheck/releases/download/v0.12.2/x86_64-alpine-linux-musl-cargo-spellcheck-v0.12.2 -O cargo-spellcheck
-RUN chmod +x cargo-spellcheck && mv cargo-spellcheck "/usr/local/cargo/bin/"
+# Use prebuilt binstall
+RUN curl https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz -Lo cargo-binstall.tgz
+RUN tar -C "/usr/local/cargo/bin" -zxf cargo-binstall.tgz cargo-binstall
+RUN rm cargo-binstall.tgz
 
-# Cargo deny
-RUN wget https://github.com/EmbarkStudios/cargo-deny/releases/download/0.13.5/cargo-deny-0.13.5-x86_64-unknown-linux-musl.tar.gz -O cargo-deny.tar.gz
-RUN tar -zxf cargo-deny.tar.gz && mv cargo-deny-0.12.2-x86_64-unknown-linux-musl/cargo-deny cargo-deny
-RUN echo "339014366d1ea1137fe425b35b7c0fb3b3c8a54f9bfb2b470f52cbb1a7904e17  cargo-deny" | sha256sum -c
-RUN chmod +x cargo-deny && mv cargo-deny "/usr/local/cargo/bin/"
+# Add cargo plugins
+RUN cargo binstall --no-confirm cargo-deny cargo-spellcheck cargo-vet cargo-crev
 
-# Cargo crev
-RUN wget https://github.com/crev-dev/cargo-crev/releases/download/v0.23.3/cargo-crev-v0.23.3-x86_64-unknown-linux-musl.tar.gz -O cargo-crev.tar.gz
-RUN tar -zxf cargo-crev.tar.gz && mv cargo-crev-v0.23.3-x86_64-unknown-linux-musl/cargo-crev cargo-crev
-RUN echo "f93fafbbdc67738dfec779097531a8d4ec379680fb65497455451139c08741c8  cargo-crev" | sha256sum -c
-RUN chmod +x cargo-crev && mv cargo-crev "/usr/local/cargo/bin/"
 
-# Cleanup
-RUN rm -r cargo-deny.tar.gz cargo-crev.tar.gz cargo-deny-0.12.2-x86_64-unknown-linux-musl cargo-crev-v0.23.3-x86_64-unknown-linux-musl
-
-RUN apk add --no-cache musl-dev
diff --git a/Dockerfile.nightly-alpine b/Dockerfile.nightly-alpine
index 5725013..7f48bfa 100644
--- a/Dockerfile.nightly-alpine
+++ b/Dockerfile.nightly-alpine
@@ -2,27 +2,16 @@ FROM rustlang/rust:nightly-alpine
 
 LABEL org.opencontainers.image.authors="ljoonal"
 
+RUN apk add --no-cache musl-dev
+
 # Add rust components with fallbacks to current git HEAD branches
 RUN rustup component add clippy || cargo install --git https://github.com/rust-lang/rust-clippy/ --force clippy
 RUN rustup component add rustfmt || cargo install --git https://github.com/rust-lang/rustfmt/ --force rustfmt
 
-# Cargo spellcheck
-RUN wget https://github.com/drahnr/cargo-spellcheck/releases/download/v0.12.2/x86_64-alpine-linux-musl-cargo-spellcheck-v0.12.2 -O cargo-spellcheck
-RUN chmod +x cargo-spellcheck && mv cargo-spellcheck "/usr/local/cargo/bin/"
+# Use prebuilt binstall
+RUN curl https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz -Lo cargo-binstall.tgz
+RUN tar -C "/usr/local/cargo/bin" -zxf cargo-binstall.tgz cargo-binstall
+RUN rm cargo-binstall.tgz
 
-# Cargo deny
-RUN wget https://github.com/EmbarkStudios/cargo-deny/releases/download/0.13.5/cargo-deny-0.13.5-x86_64-unknown-linux-musl.tar.gz -O cargo-deny.tar.gz
-RUN tar -zxf cargo-deny.tar.gz && mv cargo-deny-0.12.2-x86_64-unknown-linux-musl/cargo-deny cargo-deny
-RUN echo "339014366d1ea1137fe425b35b7c0fb3b3c8a54f9bfb2b470f52cbb1a7904e17  cargo-deny" | sha256sum -c
-RUN chmod +x cargo-deny && mv cargo-deny "/usr/local/cargo/bin/"
-
-# Cargo crev
-RUN wget https://github.com/crev-dev/cargo-crev/releases/download/v0.23.3/cargo-crev-v0.23.3-x86_64-unknown-linux-musl.tar.gz -O cargo-crev.tar.gz
-RUN tar -zxf cargo-crev.tar.gz && mv cargo-crev-v0.23.3-x86_64-unknown-linux-musl/cargo-crev cargo-crev
-RUN echo "f93fafbbdc67738dfec779097531a8d4ec379680fb65497455451139c08741c8  cargo-crev" | sha256sum -c
-RUN chmod +x cargo-crev && mv cargo-crev "/usr/local/cargo/bin/"
-
-# Cleanup
-RUN rm -r cargo-deny.tar.gz cargo-crev.tar.gz cargo-deny-0.12.2-x86_64-unknown-linux-musl cargo-crev-v0.23.3-x86_64-unknown-linux-musl
-
-RUN apk add --no-cache musl-dev
+# Add cargo plugins
+RUN cargo binstall --no-confirm cargo-deny cargo-spellcheck cargo-vet cargo-crev