30 lines
790 B
Bash
30 lines
790 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
PROJECT_DIR=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
|
|
|
|
IMAGE_NAME=${IMAGE_NAME:-pyxray}
|
|
APT_MIRROR=${APT_MIRROR:-https://mirrors.ustc.edu.cn/debian}
|
|
UV_INDEX_URL=${UV_INDEX_URL:-https://pypi.mirrors.ustc.edu.cn/simple/}
|
|
|
|
cd "$PROJECT_DIR"
|
|
|
|
PYTHON_BIN=${PYTHON_BIN:-}
|
|
if [ -z "$PYTHON_BIN" ]; then
|
|
if command -v python3 >/dev/null 2>&1; then
|
|
PYTHON_BIN=python3
|
|
else
|
|
PYTHON_BIN=python
|
|
fi
|
|
fi
|
|
|
|
IMAGE_VERSION=${IMAGE_VERSION:-$("$PYTHON_BIN" -c 'import tomllib; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"])')}
|
|
|
|
docker build \
|
|
--build-arg "APT_MIRROR=$APT_MIRROR" \
|
|
--build-arg "UV_INDEX_URL=$UV_INDEX_URL" \
|
|
-t "$IMAGE_NAME:latest" \
|
|
-t "$IMAGE_NAME:$IMAGE_VERSION" \
|
|
.
|