Add CPU-only Docker image and fix release tag naming
- Add Dockerfile.cpu and compose.cpu.yaml for CPU-only deployments - Use sentence-transformers[onnx] + CPU-only torch for ~4x smaller image - Fix release script: separate git tags (engine-v*) from Docker tags (v*) - Add CPU image to release build/push pipeline - Update README with CPU deployment instructions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+24
-13
@@ -111,9 +111,11 @@ else
|
||||
echo "==> Engine version: $VERSION (no increment)"
|
||||
fi
|
||||
|
||||
TAG="engine-v${VERSION}"
|
||||
GIT_TAG="engine-v${VERSION}"
|
||||
DOCKER_TAG="v${VERSION}"
|
||||
|
||||
echo " Tag: $TAG"
|
||||
echo " Git tag: $GIT_TAG"
|
||||
echo " Image tag: $DOCKER_TAG"
|
||||
echo " Registry: $IMAGE_BASE"
|
||||
echo " Forge CLI: $FORGE"
|
||||
echo " Dry run: $DRY_RUN"
|
||||
@@ -125,8 +127,8 @@ echo ""
|
||||
echo "==> Pre-flight checks"
|
||||
|
||||
if [[ "$DRY_RUN" == false ]]; then
|
||||
if git -C "$SCRIPT_DIR" rev-parse "$TAG" &>/dev/null; then
|
||||
echo "Error: tag $TAG already exists"
|
||||
if git -C "$SCRIPT_DIR" rev-parse "$GIT_TAG" &>/dev/null; then
|
||||
echo "Error: tag $GIT_TAG already exists"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -148,29 +150,32 @@ fi
|
||||
#──────────────────────────────────────────────────────────────────────
|
||||
echo "==> Building Docker engine images ($VERSION)"
|
||||
|
||||
NVIDIA_IMAGE="${IMAGE_BASE}/engine:${TAG}-nvidia"
|
||||
ROCM_IMAGE="${IMAGE_BASE}/engine:${TAG}-rocm"
|
||||
NVIDIA_IMAGE="${IMAGE_BASE}/engine:${DOCKER_TAG}-nvidia"
|
||||
ROCM_IMAGE="${IMAGE_BASE}/engine:${DOCKER_TAG}-rocm"
|
||||
CPU_IMAGE="${IMAGE_BASE}/engine:${DOCKER_TAG}-cpu"
|
||||
NVIDIA_LATEST="${IMAGE_BASE}/engine:latest-nvidia"
|
||||
ROCM_LATEST="${IMAGE_BASE}/engine:latest-rocm"
|
||||
CPU_LATEST="${IMAGE_BASE}/engine:latest-cpu"
|
||||
|
||||
run docker build -t "$NVIDIA_IMAGE" -t "$NVIDIA_LATEST" -f "$ENGINE_DIR/Dockerfile.nvidia" "$ENGINE_DIR"
|
||||
run docker build -t "$ROCM_IMAGE" -t "$ROCM_LATEST" -f "$ENGINE_DIR/Dockerfile.rocm" "$ENGINE_DIR"
|
||||
run docker build -t "$CPU_IMAGE" -t "$CPU_LATEST" -f "$ENGINE_DIR/Dockerfile.cpu" "$ENGINE_DIR"
|
||||
|
||||
echo ""
|
||||
|
||||
#──────────────────────────────────────────────────────────────────────
|
||||
# 4. Commit, tag, and push
|
||||
#──────────────────────────────────────────────────────────────────────
|
||||
echo "==> Committing and tagging $TAG"
|
||||
echo "==> Committing and tagging $GIT_TAG"
|
||||
|
||||
if [[ "$INCREMENT" == true ]]; then
|
||||
run git -C "$SCRIPT_DIR" add "$VERSION_FILE"
|
||||
run git -C "$SCRIPT_DIR" commit -m "Bump engine version to $VERSION"
|
||||
fi
|
||||
|
||||
run git -C "$SCRIPT_DIR" tag -a "$TAG" -m "Release $TAG"
|
||||
run git -C "$SCRIPT_DIR" tag -a "$GIT_TAG" -m "Release $GIT_TAG"
|
||||
run git -C "$SCRIPT_DIR" push origin HEAD
|
||||
run git -C "$SCRIPT_DIR" push origin "$TAG"
|
||||
run git -C "$SCRIPT_DIR" push origin "$GIT_TAG"
|
||||
|
||||
echo ""
|
||||
|
||||
@@ -179,7 +184,7 @@ echo ""
|
||||
#──────────────────────────────────────────────────────────────────────
|
||||
echo "==> Creating release via $FORGE"
|
||||
|
||||
RELEASE_TITLE="Engine $TAG"
|
||||
RELEASE_TITLE="Engine $GIT_TAG"
|
||||
RELEASE_NOTES="## Docker images
|
||||
|
||||
\`\`\`bash
|
||||
@@ -188,16 +193,19 @@ docker pull ${NVIDIA_IMAGE}
|
||||
|
||||
# AMD GPU (ROCm)
|
||||
docker pull ${ROCM_IMAGE}
|
||||
|
||||
# CPU only
|
||||
docker pull ${CPU_IMAGE}
|
||||
\`\`\`"
|
||||
|
||||
if [[ "$FORGE" == "gh" ]]; then
|
||||
run gh release create "$TAG" \
|
||||
run gh release create "$GIT_TAG" \
|
||||
--title "$RELEASE_TITLE" \
|
||||
--notes "$RELEASE_NOTES"
|
||||
|
||||
elif [[ "$FORGE" == "tea" ]]; then
|
||||
run tea release create \
|
||||
--tag "$TAG" \
|
||||
--tag "$GIT_TAG" \
|
||||
--title "$RELEASE_TITLE" \
|
||||
--note "$RELEASE_NOTES"
|
||||
fi
|
||||
@@ -213,10 +221,13 @@ run docker push "$NVIDIA_IMAGE"
|
||||
run docker push "$NVIDIA_LATEST"
|
||||
run docker push "$ROCM_IMAGE"
|
||||
run docker push "$ROCM_LATEST"
|
||||
run docker push "$CPU_IMAGE"
|
||||
run docker push "$CPU_LATEST"
|
||||
|
||||
echo ""
|
||||
echo "==> Release $TAG complete!"
|
||||
echo "==> Release $GIT_TAG complete!"
|
||||
echo ""
|
||||
echo " Images:"
|
||||
echo " $NVIDIA_IMAGE"
|
||||
echo " $ROCM_IMAGE"
|
||||
echo " $CPU_IMAGE"
|
||||
|
||||
Reference in New Issue
Block a user