github.com/tilt-dev/tilt@v0.36.0/.circleci/Dockerfile.integration (about)

     1  # Uses Node 22
     2  FROM cimg/go:1.24-node
     3  
     4  USER root
     5  
     6  # Install dependencies from OS package manager sources
     7  RUN apt update && apt install -y --no-install-recommends \
     8      ca-certificates \
     9      jq \
    10      liblz4-tool \
    11      rsync \
    12      socat \
    13      && rm -rf /var/lib/apt/lists/*
    14  
    15  # Install kubectl
    16  RUN curl -sSL -o /usr/local/bin/kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
    17      && chmod +x /usr/local/bin/kubectl \
    18      && kubectl version --client
    19  
    20  # Install docker
    21  # Adapted from https://github.com/circleci/circleci-images/blob/staging/shared/images/Dockerfile-basic.template
    22  # Che1ck https://download.docker.com/linux/static/stable/x86_64/ for latest versions
    23  ENV DOCKER_VERSION=29.0.1
    24  RUN set -exu \
    25    && DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz" \
    26    && echo Docker URL: $DOCKER_URL \
    27    && curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
    28    && ls -lha /tmp/docker.tgz \
    29    && tar -xz -C /tmp -f /tmp/docker.tgz \
    30    && mv /tmp/docker/* /usr/bin \
    31    && rm -rf /tmp/docker /tmp/docker.tgz \
    32    && which docker \
    33    && (docker version || true)
    34  
    35  # docker-compose v2
    36  ARG DOCKER_COMPOSE_V2_VERSION=v2.40.3
    37  RUN curl -fL "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_V2_VERSION}/docker-compose-$(uname -s | tr '[A-Z]' '[a-z]')-$(uname -m)" -o /usr/local/bin/docker-compose \
    38    && chmod a+x /usr/local/bin/docker-compose \
    39    && docker-compose version
    40  
    41  # install Kind (Kubernetes in Docker)
    42  ENV KIND_VERSION=v0.30.0
    43  RUN curl -fLo ./kind-linux-amd64 https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64 \
    44    && chmod +x ./kind-linux-amd64 \
    45    && mv ./kind-linux-amd64 /usr/local/bin/kind \
    46    && kind version
    47  
    48  # --- GO UTILITIES / LINTERS ---
    49  USER circleci
    50  
    51  # install gotestsum
    52  RUN go install gotest.tools/gotestsum@latest \
    53      && gotestsum --version
    54  
    55  # install ctlptl from the ctlptl release image
    56  COPY --from=docker/tilt-ctlptl /usr/local/bin/ctlptl /usr/local/bin/