Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ROS] Crystal #206

Merged
merged 35 commits into from
Jan 3, 2019
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a2a3be4
Template over os_code_name to facilitate multi os
ruffsl Nov 16, 2018
0bf8042
Add support for arm64v8
ruffsl Nov 16, 2018
70c14bd
Update manifest for arm64v8
ruffsl Nov 16, 2018
14af668
Enable version pinning
ruffsl Nov 16, 2018
a78adf2
Add hooks
ruffsl Nov 16, 2018
e7685ee
Update manifest
ruffsl Nov 16, 2018
a1ca2a9
Add preliminary files for ros2 crystal
ruffsl Nov 16, 2018
4d7a97b
Update README on ROS2 links
ruffsl Nov 16, 2018
2d46186
Downplay SROS1 images to bolster SROS2 migration
ruffsl Nov 16, 2018
29cd64a
Update EOL date for Crystal
ruffsl Nov 23, 2018
610d353
Update template to include bootstrap tools
ruffsl Nov 30, 2018
68f99cf
Update using cleaned template and versions
ruffsl Dec 14, 2018
67a754e
Update manefest
ruffsl Dec 14, 2018
1e3e24d
Update ros2 repo url in dockerfile
ruffsl Dec 14, 2018
b551a7e
Update manifest
ruffsl Dec 14, 2018
df63960
Remove desktop and bridge image from manifest
ruffsl Dec 15, 2018
271eb1c
Using ros as repo name for docker images
ruffsl Dec 15, 2018
fd8d22d
Update dockerfiles
ruffsl Dec 15, 2018
2e04cb4
Update manifest
ruffsl Dec 15, 2018
aa4f59e
Update master template to use same entrypoint name
ruffsl Dec 15, 2018
c5a4ec1
Update Dockerfiles to use same entrypoint name
ruffsl Dec 15, 2018
a18c67b
Update manifest
ruffsl Dec 15, 2018
b6291e8
Merge versions into offical ros repo
ruffsl Dec 15, 2018
68305a0
Move ros2 files into common ros difrecotry
ruffsl Dec 24, 2018
eaca344
Update comment in template
ruffsl Dec 24, 2018
66b46b1
Merge ros2 config into common ros directory
ruffsl Dec 24, 2018
a59739f
Update desktop and ros1 bridge images
ruffsl Dec 24, 2018
aea6878
Rename ros1 bridge entrypoint name for consistency
ruffsl Dec 24, 2018
ad31efa
Update common manefest to include ros2 images
ruffsl Dec 24, 2018
e747935
Remove remaining file from old ros2 folder
ruffsl Dec 24, 2018
8146855
Update travis CI for ros2 merge
ruffsl Dec 29, 2018
bb07e11
Update makefiles and template
ruffsl Dec 29, 2018
9619e8b
Fix Dockerfiles to build from tags including os_code_name
ruffsl Dec 29, 2018
d5241ac
Update manifest
ruffsl Dec 29, 2018
56c98f7
Restructure ros2 source templates
ruffsl Jan 3, 2019
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: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ This repo hosts the Dockerfiles used to generate the official images for OSRF pr
##### Dockerfile CI [![Build Status](https://travis-ci.org/osrf/docker_images.svg?branch=master)](https://travis-ci.org/osrf/docker_images)

## Official Library
### [ROS2 ![Docker Pulls](https://img.shields.io/docker/pulls/_/ros2.svg) ![Docker Stars](https://img.shields.io/docker/stars/_/ros2.svg)](https://registry.hub.docker.com/_/ros2/)
ruffsl marked this conversation as resolved.
Show resolved Hide resolved
[![Compare Images](https://images.microbadger.com/badges/image/library/ros2.svg)](https://microbadger.com/#/images/library/ros2)

* amd64 [![Build Status](https://doi-janky.infosiftr.net/buildStatus/icon?job=multiarch/amd64/ros2)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ros2/)

* arm64v8 [![Build Status](https://doi-janky.infosiftr.net/buildStatus/icon?job=multiarch/arm64v8/ros2)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/ros2/)


### [ROS ![Docker Pulls](https://img.shields.io/docker/pulls/_/ros.svg) ![Docker Stars](https://img.shields.io/docker/stars/_/ros.svg)](https://registry.hub.docker.com/_/ros/)
[![Compare Images](https://images.microbadger.com/badges/image/library/ros.svg)](https://microbadger.com/#/images/library/ros)

Expand Down Expand Up @@ -40,12 +48,6 @@ This repo hosts the Dockerfiles used to generate the official images for OSRF pr
* amd64 [![Docker Build Status](https://img.shields.io/docker/build/osrf/gazebo.svg)](https://hub.docker.com/r/osrf/gazebo/builds/)


### [SROS ![Docker Pulls](https://img.shields.io/docker/pulls/osrf/sros.svg) ![Docker Stars](https://img.shields.io/docker/stars/osrf/sros.svg)](https://registry.hub.docker.com/u/osrf/sros/)
ruffsl marked this conversation as resolved.
Show resolved Hide resolved
[![Compare Images](https://images.microbadger.com/badges/image/osrf/sros.svg)](https://microbadger.com/#/images/osrf/sros)

* amd64 [![Docker Build Status](https://img.shields.io/docker/build/osrf/sros.svg)](https://hub.docker.com/r/osrf/sros/builds/)


### [ROS Legacy ![Docker Pulls](https://img.shields.io/docker/pulls/osrf/ros_legacy.svg) ![Docker Stars](https://img.shields.io/docker/stars/osrf/ros_legacy.svg)](https://registry.hub.docker.com/u/osrf/ros_legacy/)
[![Compare Images](https://images.microbadger.com/badges/image/osrf/ros_legacy.svg)](https://microbadger.com/#/images/osrf/ros_legacy)

Expand Down
24 changes: 12 additions & 12 deletions ros2/.config/Makefile.em
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ help:
@echo ""

build:
@docker build --tag=osrf/ros2:$release_name-ros-core ros-core/.
@docker build --tag=osrf/ros2:$release_name-ros-base ros-base/.
@docker build --tag=osrf/ros2:$release_name-desktop desktop/.
@docker build --tag=osrf/ros2:$release_name-ros1-bridge ros1-bridge/.
@docker build --tag=osrf/ros2:$release_name-ros-core-$os_code_name ros-core/.
@docker build --tag=osrf/ros2:$release_name-ros-base-$os_code_name ros-base/.
@docker build --tag=osrf/ros2:$release_name-desktop-$os_code_name desktop/.
@docker build --tag=osrf/ros2:$release_name-ros1-bridge-$os_code_name ros1-bridge/.

pull:
@docker pull osrf/ros2:$release_name-ros-core
@docker pull osrf/ros2:$release_name-ros-base
@docker pull osrf/ros2:$release_name-desktop
@docker pull osrf/ros2:$release_name-ros1-bridge
@docker pull osrf/ros2:$release_name-ros-core-$os_code_name
@docker pull osrf/ros2:$release_name-ros-base-$os_code_name
@docker pull osrf/ros2:$release_name-desktop-$os_code_name
@docker pull osrf/ros2:$release_name-ros1-bridge-$os_code_name

clean:
@docker rmi -f osrf/ros2:$release_name-ros-core
@docker rmi -f osrf/ros2:$release_name-ros-base
@docker rmi -f osrf/ros2:$release_name-desktop
@docker rmi -f osrf/ros2:$release_name-ros1-bridge
@docker rmi -f osrf/ros2:$release_name-ros-core-$os_code_name
@docker rmi -f osrf/ros2:$release_name-ros-base-$os_code_name
@docker rmi -f osrf/ros2:$release_name-desktop-$os_code_name
@docker rmi -f osrf/ros2:$release_name-ros1-bridge-$os_code_name
2 changes: 1 addition & 1 deletion ros2/.config/platform.yaml.em
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ platform:
maintainer_name:
arch: amd64
type: distribution
version: false
version:
ruffsl marked this conversation as resolved.
Show resolved Hide resolved
14 changes: 14 additions & 0 deletions ros2/.hooks/post_push.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# http://windsock.io/automated-docker-image-builds-with-multiple-tags/

set -e

# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}

# Tag and push image for each additional tag
for tag in @tags; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done
24 changes: 12 additions & 12 deletions ros2/ardent/ubuntu/xenial/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ help:
@echo ""

build:
@docker build --tag=osrf/ros2:ardent-ros-core ros-core/.
@docker build --tag=osrf/ros2:ardent-ros-base ros-base/.
@docker build --tag=osrf/ros2:ardent-desktop desktop/.
@docker build --tag=osrf/ros2:ardent-ros1-bridge ros1-bridge/.
@docker build --tag=osrf/ros2:ardent-ros-core-xenial ros-core/.
@docker build --tag=osrf/ros2:ardent-ros-base-xenial ros-base/.
@docker build --tag=osrf/ros2:ardent-desktop-xenial desktop/.
@docker build --tag=osrf/ros2:ardent-ros1-bridge-xenial ros1-bridge/.

pull:
@docker pull osrf/ros2:ardent-ros-core
@docker pull osrf/ros2:ardent-ros-base
@docker pull osrf/ros2:ardent-desktop
@docker pull osrf/ros2:ardent-ros1-bridge
@docker pull osrf/ros2:ardent-ros-core-xenial
@docker pull osrf/ros2:ardent-ros-base-xenial
@docker pull osrf/ros2:ardent-desktop-xenial
@docker pull osrf/ros2:ardent-ros1-bridge-xenial

clean:
@docker rmi -f osrf/ros2:ardent-ros-core
@docker rmi -f osrf/ros2:ardent-ros-base
@docker rmi -f osrf/ros2:ardent-desktop
@docker rmi -f osrf/ros2:ardent-ros1-bridge
@docker rmi -f osrf/ros2:ardent-ros-core-xenial
@docker rmi -f osrf/ros2:ardent-ros-base-xenial
@docker rmi -f osrf/ros2:ardent-desktop-xenial
@docker rmi -f osrf/ros2:ardent-ros1-bridge-xenial
2 changes: 1 addition & 1 deletion ros2/ardent/ubuntu/xenial/desktop/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
FROM osrf/ros2:ardent-ros-base
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-ardent-desktop \
ros-ardent-desktop=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

14 changes: 14 additions & 0 deletions ros2/ardent/ubuntu/xenial/desktop/hooks/post_push
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# http://windsock.io/automated-docker-image-builds-with-multiple-tags/

set -e

# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}

# Tag and push image for each additional tag
for tag in ardent-desktop; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done
2 changes: 1 addition & 1 deletion ros2/ardent/ubuntu/xenial/platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ platform:
maintainer_name:
arch: amd64
type: distribution
version: false
version:
2 changes: 1 addition & 1 deletion ros2/ardent/ubuntu/xenial/ros-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
FROM osrf/ros2:ardent-ros-core
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-ardent-ros-base \
ros-ardent-ros-base=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

16 changes: 13 additions & 3 deletions ros2/ardent/ubuntu/xenial/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,37 @@ RUN apt-get update && apt-get install -q -y \
python3-pip \
&& rm -rf /var/lib/apt/lists/*


# setup ros2 keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116

# setup sources.list
RUN . /etc/os-release \
&& echo "deb http://repo.ros2.org/$ID/main `lsb_release -sc` main" > /etc/apt/sources.list.d/ros2-latest.list

# install bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
python3-rosdep \
python3-rosinstall \
python3-vcstools \
&& rm -rf /var/lib/apt/lists/*

# setup environment
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8

ENV ROS_DISTRO ardent
# bootstrap rosdep
ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros2/rosdistro/ros2/index.yaml
RUN rosdep init \
&& rosdep update

# install python packages
RUN pip3 install -U \
argcomplete

# install ros2 packages
ENV ROS_DISTRO ardent
RUN apt-get update && apt-get install -y \
ros-ardent-ros-core \
ros-ardent-ros-core=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
Expand Down
4 changes: 2 additions & 2 deletions ros2/ardent/ubuntu/xenial/ros1-bridge/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ ENV ROS1_DISTRO kinetic
ENV ROS2_DISTRO ardent
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-ardent-ros1-bridge \
ros-ardent-turtlebot2-demo \
ros-ardent-ros1-bridge=0.4.0-0* \
ros-ardent-turtlebot2-demo=0.4.1-0* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
Expand Down
14 changes: 14 additions & 0 deletions ros2/ardent/ubuntu/xenial/ros1-bridge/hooks/post_push
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# http://windsock.io/automated-docker-image-builds-with-multiple-tags/

set -e

# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}

# Tag and push image for each additional tag
for tag in ardent-ros1-bridge; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done
24 changes: 12 additions & 12 deletions ros2/bouncy/ubuntu/bionic/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ help:
@echo ""

build:
@docker build --tag=osrf/ros2:bouncy-ros-core ros-core/.
@docker build --tag=osrf/ros2:bouncy-ros-base ros-base/.
@docker build --tag=osrf/ros2:bouncy-desktop desktop/.
@docker build --tag=osrf/ros2:bouncy-ros1-bridge ros1-bridge/.
@docker build --tag=osrf/ros2:bouncy-ros-core-bionic ros-core/.
@docker build --tag=osrf/ros2:bouncy-ros-base-bionic ros-base/.
@docker build --tag=osrf/ros2:bouncy-desktop-bionic desktop/.
@docker build --tag=osrf/ros2:bouncy-ros1-bridge-bionic ros1-bridge/.

pull:
@docker pull osrf/ros2:bouncy-ros-core
@docker pull osrf/ros2:bouncy-ros-base
@docker pull osrf/ros2:bouncy-desktop
@docker pull osrf/ros2:bouncy-ros1-bridge
@docker pull osrf/ros2:bouncy-ros-core-bionic
@docker pull osrf/ros2:bouncy-ros-base-bionic
@docker pull osrf/ros2:bouncy-desktop-bionic
@docker pull osrf/ros2:bouncy-ros1-bridge-bionic

clean:
@docker rmi -f osrf/ros2:bouncy-ros-core
@docker rmi -f osrf/ros2:bouncy-ros-base
@docker rmi -f osrf/ros2:bouncy-desktop
@docker rmi -f osrf/ros2:bouncy-ros1-bridge
@docker rmi -f osrf/ros2:bouncy-ros-core-bionic
@docker rmi -f osrf/ros2:bouncy-ros-base-bionic
@docker rmi -f osrf/ros2:bouncy-desktop-bionic
@docker rmi -f osrf/ros2:bouncy-ros1-bridge-bionic
2 changes: 1 addition & 1 deletion ros2/bouncy/ubuntu/bionic/desktop/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
FROM osrf/ros2:bouncy-ros-base
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-bouncy-desktop \
ros-bouncy-desktop=0.5.1-0* \
&& rm -rf /var/lib/apt/lists/*

14 changes: 14 additions & 0 deletions ros2/bouncy/ubuntu/bionic/desktop/hooks/post_push
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# http://windsock.io/automated-docker-image-builds-with-multiple-tags/

set -e

# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}

# Tag and push image for each additional tag
for tag in bouncy-desktop; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done
2 changes: 1 addition & 1 deletion ros2/bouncy/ubuntu/bionic/platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ platform:
maintainer_name:
arch: amd64
type: distribution
version: false
version:
2 changes: 1 addition & 1 deletion ros2/bouncy/ubuntu/bionic/ros-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
FROM osrf/ros2:bouncy-ros-core
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-bouncy-ros-base \
ros-bouncy-ros-base=0.5.1-0* \
&& rm -rf /var/lib/apt/lists/*

18 changes: 14 additions & 4 deletions ros2/bouncy/ubuntu/bionic/ros-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
# generated from docker_images/create_ros2_core_image.Dockerfile.em
FROM ubuntu:bionic

# setup timezone
RUN echo 'Etc/UTC' > /etc/timezone && \
ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
apt-get update && apt-get install -q -y tzdata && rm -rf /var/lib/apt/lists/*


# install packages
RUN apt-get update && apt-get install -q -y \
dirmngr \
Expand All @@ -15,27 +15,37 @@ RUN apt-get update && apt-get install -q -y \
python3-pip \
&& rm -rf /var/lib/apt/lists/*


# setup ros2 keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116

# setup sources.list
RUN . /etc/os-release \
&& echo "deb http://repo.ros2.org/$ID/main `lsb_release -sc` main" > /etc/apt/sources.list.d/ros2-latest.list

# install bootstrap tools
RUN apt-get update && apt-get install --no-install-recommends -y \
python3-rosdep \
python3-rosinstall \
python3-vcstools \
&& rm -rf /var/lib/apt/lists/*

# setup environment
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8

ENV ROS_DISTRO bouncy
# bootstrap rosdep
ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros2/rosdistro/ros2/index.yaml
RUN rosdep init \
&& rosdep update

# install python packages
RUN pip3 install -U \
argcomplete

# install ros2 packages
ENV ROS_DISTRO bouncy
RUN apt-get update && apt-get install -y \
ros-bouncy-ros-core \
ros-bouncy-ros-core=0.5.1-0* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
Expand Down
4 changes: 2 additions & 2 deletions ros2/bouncy/ubuntu/bionic/ros1-bridge/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ ENV ROS1_DISTRO melodic
ENV ROS2_DISTRO bouncy
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-bouncy-ros1-bridge \
ros-bouncy-turtlebot2-demo \
ros-bouncy-ros1-bridge=0.5.1-0* \
ros-bouncy-turtlebot2-demo=0.5.1-0* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
Expand Down
14 changes: 14 additions & 0 deletions ros2/bouncy/ubuntu/bionic/ros1-bridge/hooks/post_push
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# http://windsock.io/automated-docker-image-builds-with-multiple-tags/

set -e

# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}

# Tag and push image for each additional tag
for tag in bouncy-ros1-bridge; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done
28 changes: 28 additions & 0 deletions ros2/crystal/ubuntu/bionic/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
all: help

help:
@echo ""
@echo "-- Help Menu"
@echo ""
@echo " 1. make build - build all images"
@echo " 2. make pull - pull all images"
@echo " 3. make clean - remove all images"
@echo ""

build:
@docker build --tag=osrf/ros2:crystal-ros-core-bionic ros-core/.
@docker build --tag=osrf/ros2:crystal-ros-base-bionic ros-base/.
@docker build --tag=osrf/ros2:crystal-desktop-bionic desktop/.
@docker build --tag=osrf/ros2:crystal-ros1-bridge-bionic ros1-bridge/.

pull:
@docker pull osrf/ros2:crystal-ros-core-bionic
@docker pull osrf/ros2:crystal-ros-base-bionic
@docker pull osrf/ros2:crystal-desktop-bionic
@docker pull osrf/ros2:crystal-ros1-bridge-bionic

clean:
@docker rmi -f osrf/ros2:crystal-ros-core-bionic
@docker rmi -f osrf/ros2:crystal-ros-base-bionic
@docker rmi -f osrf/ros2:crystal-desktop-bionic
@docker rmi -f osrf/ros2:crystal-ros1-bridge-bionic
Loading