Ctrl K
ComunidadGuías…

build/fmt/run-fmt.sh

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/bash
set -e

pwd=$(pwd)
cd "$(dirname "${BASH_SOURCE[0]}")/../.."
repo_root=$(pwd)
rel_pwd="${pwd#"$repo_root"}"
TOOLCHAIN=$(sed -n 's/^ARG RUSTFMT_TOOLCHAIN=//p' build/fmt/fmtenv.Dockerfile)

if [ "${FMT_NATIVE:-}" = 1 ]; then
    exec env RUSTUP_TOOLCHAIN="$TOOLCHAIN" "$@"
fi

platform=linux/amd64
case "$(uname -m)" in
    aarch64 | arm64) platform=linux/arm64 ;;
esac

IMAGE=start9/fmt-env
base_image=$(./build/rust-builder/image.sh)
docker buildx build --load --platform="$platform" -t "$IMAGE" \
    --build-arg RUST_BUILDER_IMAGE="$base_image" \
    -f build/fmt/fmtenv.Dockerfile build/fmt

tty_args=()
if tty -s; then tty_args=(-it); fi

exec docker run "${tty_args[@]}" --platform="$platform" --rm \
    --user "$(id -u):$(id -g)" \
    -e RUSTUP_TOOLCHAIN="$TOOLCHAIN" \
    -v "$repo_root:/workdir" \
    -w "/workdir${rel_pwd}" \
    "$IMAGE" "$@"