FROM debian:12

WORKDIR /app

ARG GO_VERSION
ARG GOLANGCI_LINT_VERSION
ARG MIGRATE_VERSION

RUN apt update &&\
    apt install git wget curl -y &&\
    wget https://go.dev/dl/go$GO_VERSION.linux-amd64.tar.gz &&\
    rm -rf /usr/local/go && tar -C /usr/local -xzf go$GO_VERSION.linux-amd64.tar.gz &&\
    curl -sSfL https://raw.githubusercontent.com/air-verse/air/master/install.sh | sh -s -- -b /usr/local/go/bin &&\
    wget https://github.com/golangci/golangci-lint/releases/download/v$GOLANGCI_LINT_VERSION/golangci-lint-$GOLANGCI_LINT_VERSION-linux-amd64.deb &&\
    dpkg -i golangci-lint-$GOLANGCI_LINT_VERSION-linux-amd64.deb &&\
    wget https://github.com/golang-migrate/migrate/releases/download/v$MIGRATE_VERSION/migrate.linux-amd64.deb &&\
    dpkg -i migrate.linux-amd64.deb &&\
    echo "export PATH=$PATH:/usr/local/go/bin" > /root/.bashrc