tilt icon indicating copy to clipboard operation
tilt copied to clipboard

Tilt Install started failing for Docker

Open ScottPierce opened this issue 2 years ago • 5 comments

Expected Behavior

Docker build completes successfully.

Current Behavior

Docker build is failing with tilt with the following error:

[5/5] RUN curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash     && tilt version:
#9 1.[57](https://github.com/joinadcentral/docker-images/actions/runs/4617282942/jobs/8169642776#step:5:58)2 + sudo mv tilt /usr/local/bin/tilt
#9 1.574 + set +x
#9 1.574 Tilt installed!
#9 1.574 
#9 1.575 Note: it looks like it is not the first program named 'tilt' in your path. `tilt version` (running from /usr/local/bin/tilt) did not return a tilt.dev version string.
#9 1.575 It output this instead:
#9 1.575 
#9 1.575 main: line 94: /usr/local/bin/tilt: cannot execute: required file not found
#9 1.575 
#9 1.575 Perhaps you have a different program named tilt in your $PATH?

Steps to Reproduce

Here is the full docker file:

FROM debian:bullseye-slim as docker

ENV LANG C.UTF-8

# Basic Stuff
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        git curl sudo ca-certificates \
    && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false

# Docker
RUN apt-get install -y --no-install-recommends \
        ca-certificates curl gnupg lsb-release software-properties-common \
    && mkdir -p /etc/apt/keyrings || true \
    && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
    && curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - \
    && apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
    && echo \
       "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
       $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
    && apt-get update \
    && apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose -y --no-install-recommends \
    && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false

COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/docker-buildx
RUN docker buildx version





# ------------------------------------------------------------------------------------------------------
FROM docker as tilt

# Tilt
RUN curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash \
    && tilt version

ScottPierce avatar Apr 05 '23 15:04 ScottPierce

thanks for reporting! I was not able to reproduce this problem. Given the steps

  1. Create a dockerfile with the contents above
  2. Run docker build .

The image built successfully.

I was even able to sh into the container and use tilt successfully:

docker run -it --entrypoint bash 7c7db19b1d88c1dde830bc37bce06051997bd3c67276d
root@ace9c04e007e:/# tilt version
v0.32.0, built 2023-03-13

Are there other steps missing?

nicks avatar Apr 05 '23 16:04 nicks

This is the github action that's running it. It's building it for multiple cpu archs.

  build-docker:
    name: Build Docker
    runs-on: [ self-hosted, docker ]
    container:
      image: scottpierce/docker:latest

    env:
      IMAGE_DOCKER: scottpierce/docker:latest
      IMAGE_TILT: scottpierce/tilt:latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2

      - name: Log in to Docker Hub
        if: github.event_name != 'pull_request'
        uses: docker/login-action@v2
        with:
          username: ${{ vars.DOCKER_HUB_USER }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}

      - name: Build Docker
        uses: docker/build-push-action@v4
        with:
          context: docker
          target: docker
          platforms: ${{ env.PLATFORMS }}
          tags: ${{ env.IMAGE_DOCKER }}
          push: ${{ github.event_name != 'pull_request' }}

      - name: Build Tilt
        uses: docker/build-push-action@v4
        with:
          context: docker
          target: tilt
          platforms: ${{ env.PLATFORMS }}
          tags: ${{ env.IMAGE_TILT }}
          push: ${{ github.event_name != 'pull_request' }}

ScottPierce avatar Apr 05 '23 17:04 ScottPierce

what's the value of PLATFORMS?

nicks avatar Apr 05 '23 17:04 nicks

env:
  PLATFORMS: linux/amd64,linux/arm64
  PLATFORM_AMD64: linux/amd64

ScottPierce avatar Apr 05 '23 18:04 ScottPierce

hmmm...still not able to repro. are you able to repro it locally, or only on the github actions runner?

nicks avatar Apr 05 '23 20:04 nicks