commit 2ad29083b5ddb7034e9df96779daeb7db8bf53f3
parent af576bacbba8bd9325e5c4f3f2610ed536e5d2dc
Author: Joris Hartog <jorishartog@hotmail.com>
Date: Thu, 13 Aug 2026 10:38:35 +0200
Remove redundant build step
Diffstat:
3 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,4 +1,5 @@
/target
+/.docker-build
/.iuna
/src-tauri/target
/src-tauri/gen
diff --git a/Dockerfile.node b/Dockerfile.node
@@ -1,11 +1,5 @@
# syntax=docker/dockerfile:1
-FROM rust:1.86-bookworm AS builder
-
-WORKDIR /src/iuna
-COPY . .
-RUN cargo build --release --locked
-
FROM debian:bookworm-slim
RUN apt-get update \
@@ -13,7 +7,8 @@ RUN apt-get update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
-COPY --from=builder /src/iuna/target/release/iuna /usr/local/bin/iuna
+COPY .docker-build/iuna-node-linux-x86_64 /usr/local/bin/iuna
+RUN chmod +x /usr/local/bin/iuna
COPY README.md /usr/share/doc/iuna/README.md
COPY LICENSE /usr/share/doc/iuna/LICENSE
diff --git a/deployment.sh b/deployment.sh
@@ -217,8 +217,11 @@ build_linux_cli_archives() {
local linux_x86_64_package="iuna-${tag}-linux-x86_64"
local linux_aarch64_package="iuna-${tag}-linux-aarch64"
- mkdir -p downloads
- [ -f "downloads/${linux_x86_64_package}.tar.gz" ] && [ -f "downloads/${linux_aarch64_package}.tar.gz" ] && return 0
+ mkdir -p .docker-build downloads
+ [ -f "downloads/${linux_x86_64_package}.tar.gz" ] \
+ && [ -f "downloads/${linux_aarch64_package}.tar.gz" ] \
+ && [ -f .docker-build/iuna-node-linux-x86_64 ] \
+ && return 0
require_command docker
@@ -228,6 +231,7 @@ build_linux_cli_archives() {
-e "HOST_GID=$(id -g)" \
-v "$(pwd):/src/iuna:ro" \
-v "$(pwd)/downloads:/out" \
+ -v "$(pwd)/.docker-build:/node-out" \
rust:1.86-bookworm \
bash -c '
set -euo pipefail
@@ -244,6 +248,7 @@ build_linux_cli_archives() {
--exclude=./src-tauri/binaries \
--exclude=./.agents \
--exclude=./.codex \
+ --exclude=./.docker-build \
-cf - . | tar -C /work/iuna -xf -
cd /work/iuna
@@ -259,11 +264,12 @@ build_linux_cli_archives() {
mkdir -p "/tmp/site/${linux_x86_64_package}" "/tmp/site/${linux_aarch64_package}"
cp target/release/iuna "/tmp/site/${linux_x86_64_package}/"
cp target/aarch64-unknown-linux-gnu/release/iuna "/tmp/site/${linux_aarch64_package}/"
+ cp target/release/iuna /node-out/iuna-node-linux-x86_64
cp README.md LICENSE "/tmp/site/${linux_x86_64_package}/"
cp README.md LICENSE "/tmp/site/${linux_aarch64_package}/"
tar -C /tmp/site -czf "/out/${linux_x86_64_package}.tar.gz" "${linux_x86_64_package}"
tar -C /tmp/site -czf "/out/${linux_aarch64_package}.tar.gz" "${linux_aarch64_package}"
- chown "${HOST_UID}:${HOST_GID}" "/out/${linux_x86_64_package}.tar.gz" "/out/${linux_aarch64_package}.tar.gz"
+ chown "${HOST_UID}:${HOST_GID}" "/out/${linux_x86_64_package}.tar.gz" "/out/${linux_aarch64_package}.tar.gz" /node-out/iuna-node-linux-x86_64
'
}
@@ -312,6 +318,8 @@ build_docker_image() {
require_command docker
+ [ -f .docker-build/iuna-node-linux-x86_64 ] || die "missing .docker-build/iuna-node-linux-x86_64; run build_versions first"
+
docker build --platform=linux/amd64 --progress=plain -t "$www_image" .
docker build --platform=linux/amd64 --progress=plain -t "$node_image" -f Dockerfile.node .
echo "Built Docker images: ${www_image}, ${node_image}"
@@ -393,6 +401,7 @@ main() {
echo "Aborting deployment"
exit 1
fi
+ build_linux_cli_archives "$version"
build_docker_image "$version"
deploy_docker_image "$version"
exit 0