release-primary:
    ARG_TAG_POSTFIX="" ARG_BUILD_EXTRA_ARGS="" just _release-raw

# Should be executed on ARM machines
release-cu129-arm64:
    ARG_TAG_POSTFIX="-cu129-arm64" ARG_BUILD_EXTRA_ARGS='--build-arg SGLANG_IMAGE_TAG=v0.5.5.post3-cu129-arm64 --build-arg ENABLE_SGLANG_PATCH=0' just _release-raw

# Should be executed on ARM machines
release-cu13-arm64:
    ARG_TAG_POSTFIX="-cu13-arm64" ARG_BUILD_EXTRA_ARGS='--build-arg SGLANG_IMAGE_TAG=dev-arm64-cu13-20251122 --build-arg ENABLE_CUDA_13=1 --build-arg ENABLE_SGLANG_PATCH=0' just _release-raw

_release-raw:
    #!/bin/bash
    set -euxo pipefail
    cd ..

    VERSION="$(cat docker/version.txt | tr -d '\n')"
    IMAGE_TAG=${VERSION}${ARG_TAG_POSTFIX}

    docker build -f docker/Dockerfile . --build-arg HTTP_PROXY="$http_proxy" --build-arg HTTPS_PROXY="$https_proxy" --build-arg NO_PROXY="localhost,127.0.0.1" $ARG_BUILD_EXTRA_ARGS -t slimerl/slime:$IMAGE_TAG
    docker push slimerl/slime:$IMAGE_TAG

    if [ -z "${ARG_TAG_POSTFIX}" ]; then
        docker tag slimerl/slime:$IMAGE_TAG slimerl/slime:latest
        docker push slimerl/slime:latest
    fi

debug:
    #!/bin/bash
    set -euxo pipefail
    cd ..

    VERSION="$(cat docker/version.txt | tr -d '\n')"
    IMAGE_TAG=${VERSION}

    docker build -f docker/Dockerfile . --build-arg HTTP_PROXY="$http_proxy" --build-arg HTTPS_PROXY="$https_proxy" --build-arg NO_PROXY="localhost,127.0.0.1" -t slimerl/slime-test:$IMAGE_TAG
    docker push slimerl/slime-test:$IMAGE_TAG

    docker tag slimerl/slime-test:$IMAGE_TAG slimerl/slime-test:latest
    docker push slimerl/slime-test:latest