mirror of
https://github.com/collabora/libsurvive.git
synced 2026-08-04 00:51:21 -04:00
Added docker assets
This commit is contained in:
parent
5319743334
commit
5cfa4b50d2
2 changed files with 71 additions and 0 deletions
45
.github/workflows/docker.yml
vendored
Normal file
45
.github/workflows/docker.yml
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
name: Build Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
create:
|
||||
tags: [ master ]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}/ros
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Log in to the Container registry
|
||||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile.ros
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
26
Dockerfile.ros
Normal file
26
Dockerfile.ros
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
FROM ros:noetic-ros-core-focal
|
||||
RUN mkdir /source
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
||||
RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \
|
||||
apt update && apt-get install --no-install-recommends -y \
|
||||
build-essential \
|
||||
udev usbutils \
|
||||
libtool \
|
||||
libeigen3-dev \
|
||||
git libusb-dev libusb-1.0-0-dev \
|
||||
ros-noetic-tf
|
||||
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
RUN --mount=type=bind,target=/source,source=.,rw --mount=type=cache,target=/build/libsurvive,id=build-survive \
|
||||
mkdir -p /build/libsurvive && \
|
||||
source "/opt/ros/noetic/setup.bash" && \
|
||||
cd /build/libsurvive && cmake -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic -DCMAKE_BUILD_TYPE=Release /source && make -j4 install
|
||||
|
||||
RUN mkdir -p /root/.config
|
||||
|
||||
ENTRYPOINT ["./ros_entrypoint.sh", "rosrun", "survive_publisher", "node"]
|
||||
CMD ["_v:=100"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue