FROM golang:1.24-bookworm

ARG USQL_VERSION=v0.19.19

WORKDIR /app

RUN sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list.d/debian.sources && \
  apt-get update --allow-unauthenticated --allow-insecure-repositories && \
	apt-get install -y --no-install-recommends git && \
  rm -rf /var/lib/apt/lists/* && \
  git clone --depth 1 --branch ${USQL_VERSION} https://github.com/xo/usql.git && \
  cd usql && \
  GOOS=linux GOARCH=amd64 GO111MODULE=on CGO_ENABLED=0 go build -v -trimpath '-tags=no_sqlite3 no_adodb postgres mysql clickhouse' "-ldflags=-s -w -X github.com/xo/usql/text.CommandName=usql -X github.com/xo/usql/text.CommandVersion=${USQL_VERSION}" -o ./bin/usql-linux-amd64-${USQL_VERSION} && \
  cd bin && shasum -a 256 usql-linux-amd64-${USQL_VERSION} > usql-linux-amd64-${USQL_VERSION}.sha256 && cd .. && \
  GOOS=linux GOARCH=arm64 GO111MODULE=on CGO_ENABLED=0 go build -v -trimpath '-tags=no_sqlite3 no_adodb postgres mysql clickhouse' "-ldflags=-s -w -X github.com/xo/usql/text.CommandName=usql -X github.com/xo/usql/text.CommandVersion=${USQL_VERSION}" -o ./bin/usql-linux-arm64-${USQL_VERSION} && \
  cd bin && shasum -a 256 usql-linux-arm64-${USQL_VERSION} > usql-linux-arm64-${USQL_VERSION}.sha256
