Skip to content

Commit

Permalink
builds: use same docker image for Arm and Windows builds
Browse files Browse the repository at this point in the history
Both can be done using the same Rust "cross" tool.
  • Loading branch information
jasonish committed May 13, 2021
1 parent da64dbd commit efeabc0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 84 deletions.
56 changes: 14 additions & 42 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,14 @@ build_linux() {
${TAG} make dist rpm deb
}

build_linux_armv7() {
DOCKERFILE="./docker/builder/Dockerfile.armv7"
TAG=${BUILDER_TAG:-"evebox/builder:armv7"}
TARGET="armv7-unknown-linux-musleabihf"
build_cross() {
target="$1"
if [ "${target}" = "" ]; then
echo "error: target must be set for build_cross"
exit 1
fi
DOCKERFILE="./docker/builder/Dockerfile.cross"
TAG=${BUILDER_TAG:-"evebox/builder:cross"}
docker build --rm \
--cache-from ${TAG} \
-t ${TAG} \
Expand All @@ -83,53 +87,21 @@ build_linux_armv7() {
-e REAL_UID="$(id -u)" \
-e REAL_GID="$(id -g)" \
-e BUILD_REV="${BUILD_REV}" \
-e TARGET="${TARGET}" \
-e TARGET="${target}" \
-e CARGO="cross" \
${TAG} make dist
}

build_linux_armv8() {
DOCKERFILE="./docker/builder/Dockerfile.armv7"
TAG=${BUILDER_TAG:-"evebox/builder:armv8"}
TARGET="aarch64-unknown-linux-musl"
docker build --rm \
--cache-from ${TAG} \
-t ${TAG} \
-f ${DOCKERFILE} .
docker run ${IT} --rm \
-v "$(pwd)/target/docker/${TARGET}:/src/target:z" \
-v "$(pwd)/dist:/src/dist:z" \
-v /var/run/docker.sock:/var/run/docker.sock \
-w /src \
-e REAL_UID="$(id -u)" \
-e REAL_GID="$(id -g)" \
-e BUILD_REV="${BUILD_REV}" \
-e TARGET="${TARGET}" \
-e CARGO="cross" \
${TAG} make dist
build_cross aarch64-unknown-linux-musl
}

build_linux_armv7() {
build_cross armv7-unknown-linux-musleabihf
}

build_windows() {
TAG=${BUILDER_TAG:-"evebox/builder:windows"}
DOCKERFILE="./docker/builder/Dockerfile.windows"
TARGET="x86_64-pc-windows-gnu"
docker build ${CACHE_FROM} --rm \
--build-arg REAL_UID="$(id -u)" \
--build-arg REAL_GID="$(id -g)" \
--cache-from ${TAG} \
-t ${TAG} \
-f ${DOCKERFILE} .
docker run ${IT} --rm \
-v "$(pwd)/target/docker/${TARGET}:/src/target:z" \
-v "$(pwd)/dist:/src/dist:z" \
-w /src \
-e REAL_UID="$(id -u)" \
-e REAL_GID="$(id -g)" \
-e CC=x86_64-w64-mingw32-gcc \
-e TARGET=x86_64-pc-windows-gnu \
-e BUILD_REV="${BUILD_REV}" \
${TAG} make dist
build_cross x86_64-pc-windows-gnu
}

build_macos() {
Expand Down
File renamed without changes.
42 changes: 0 additions & 42 deletions docker/builder/Dockerfile.windows

This file was deleted.

0 comments on commit efeabc0

Please sign in to comment.