Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ jobs:
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build estimator base
uses: docker/build-push-action@v6
with:
file: Dockerfile.estimator.base
push: true
tags: ghcr.io/yadunund/ibpc/estimator-base:latest
-
name: Build estimator
uses: docker/build-push-action@v6
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.estimator
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ros:jazzy-perception AS base
FROM ghcr.io/yadunund/ibpc/estimator-base:latest AS base

SHELL [ "/bin/bash" , "-c" ]

Expand Down
34 changes: 34 additions & 0 deletions Dockerfile.estimator.base
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FROM ros:jazzy-perception AS base

ARG DEBIAN_FRONTEND=noninteractive

# Prerequisites
RUN apt-get update && apt-get install -y --no-install-recommends \
wget software-properties-common gnupg2 \
&& rm -rf /var/lib/apt/lists/*

# Enable contrib on debian to get required
# https://packages.debian.org/bullseye/glx-alternative-nvidia

# Remove cuda from base image for disk space savings
# RUN \
# wget -q https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb && \
# dpkg -i cuda-keyring_1.1-1_all.deb && \
# rm cuda-keyring_1.1-1_all.deb && \
# apt-get update && \
# apt-get install -y software-properties-common && \
# add-apt-repository "deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse" && \
# add-apt-repository "deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse" && \
# add-apt-repository "deb http://archive.ubuntu.com/ubuntu noble contrib non-free-firmware" && \
# apt-get update && \
# apt-get -y install cuda-toolkit && \
# rm -rf /var/lib/apt/lists/*

# File conflict problem with libnvidia-ml.so.1 and libcuda.so.1
# https://github.com/NVIDIA/nvidia-docker/issues/1551
RUN rm -rf /usr/lib/x86_64-linux-gnu/libnv*
RUN rm -rf /usr/lib/x86_64-linux-gnu/libcuda*

# TODO(tfoote) Add documentation of why these are required
ENV PATH /usr/local/cuda/bin${PATH:+:${PATH}}

Check warning on line 33 in Dockerfile.estimator.base

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV LD_LIBRARY_PATH /usr/local/cuda/lib64/stubs:/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Check warning on line 34 in Dockerfile.estimator.base

View workflow job for this annotation

GitHub Actions / build

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$LD_LIBRARY_PATH' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/

Check warning on line 34 in Dockerfile.estimator.base

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/