# syntax=docker/dockerfile:1.5-labs
FROM fedora:38

ARG TARGETOS
ARG TARGETARCH
ARG BAZEL_VERSION=6.4.0
ARG BAZELISK_VERSION=v1.16.0
ARG BAZELISK_SHA256=168851e70cf5f95c0e215e7f3aaca5132ffc3c8dd8f585a4157b0be2b53cfe32

ADD --checksum=sha256:${BAZELISK_SHA256} \
    https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-${TARGETOS}-${TARGETARCH} \
    /usr/local/bin/bazelisk

RUN chmod +x /usr/local/bin/bazelisk && \
    ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel && \
    dnf install -y \
    git \
    diffutils \
    libxcrypt-compat \
    python3 \
    && \
    dnf clean all && \
    groupadd --gid 1000 builder && \
    useradd -rm -d /home/builder -s /bin/bash -g root -u 1000 --gid builder builder && \
    mkdir -p /home/builder/.cache && \
    mkdir -p /workspace && \
    chown -R builder:builder /home/builder/.cache /workspace && \
    git config --global --add safe.directory /workspace

USER builder
WORKDIR /workspace

RUN git config --global --add safe.directory /workspace && \
    USE_BAZEL_VERSION=${BAZEL_VERSION} bazel version

ENTRYPOINT [ "/usr/local/bin/bazel" ]
