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 34 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
5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ install:

env:
# ros2
- HUB_REPO=ros2 HUB_RELEASE=ardent HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=xenial
- HUB_REPO=ros2 HUB_RELEASE=bouncy HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=bionic
- HUB_REPO=ros HUB_RELEASE=crystal HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=bionic
- HUB_REPO=ros HUB_RELEASE=bouncy HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=bionic
- HUB_REPO=ros HUB_RELEASE=ardent HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=xenial
# ros
- HUB_REPO=ros HUB_RELEASE=melodic HUB_OS_NAME=ubuntu HUB_OS_CODE_NAME=bionic
- HUB_REPO=ros HUB_RELEASE=melodic HUB_OS_NAME=debian HUB_OS_CODE_NAME=stretch
Expand Down
6 changes: 0 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,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
File renamed without changes.
File renamed without changes.
File renamed without changes.
28 changes: 28 additions & 0 deletions ros/.config/ros2/Makefile.em
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=ros:$release_name-ros-core-$os_code_name ros-core/.
@docker build --tag=ros:$release_name-ros-base-$os_code_name ros-base/.
# @docker build --tag=osrf/ros:$release_name-desktop-$os_code_name desktop/.
# @docker build --tag=osrf/ros:$release_name-ros1-bridge-$os_code_name ros1-bridge/.

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

clean:
@docker rmi -f ros:$release_name-ros-core-$os_code_name
@docker rmi -f ros:$release_name-ros-base-$os_code_name
# @docker rmi -f osrf/ros:$release_name-desktop-$os_code_name
# @docker rmi -f osrf/ros:$release_name-ros1-bridge-$os_code_name
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,36 @@ images:
ros-core:
base_image: @(os_name):@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_core_image.Dockerfile.em
entrypoint_name: docker_images/ros2_entrypoint.sh
template_name: docker_images_ros2/create_ros_core_image.Dockerfile.em
entrypoint_name: docker_images_ros2/ros_entrypoint.sh
pip3_install:
- argcomplete
template_packages:
- docker_templates
ros2_packages:
- ros-core
ros-base:
base_image: osrf/@(user_name):@(ros2distro_name)-ros-core
base_image: @(user_name):@(ros2distro_name)-ros-core-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_image.Dockerfile.em
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- ros-base
desktop:
base_image: osrf/@(user_name):@(ros2distro_name)-ros-base
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_image.Dockerfile.em
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- desktop
ros1-bridge:
base_image: osrf/@(user_name):@(ros2distro_name)-desktop
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_ros1_bridge_image.Dockerfile.em
entrypoint_name: docker_images/ros1_bridge_entrypoint.sh
template_name: docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
entrypoint_name: docker_images_ros2/ros1_bridge/ros_entrypoint.sh
template_packages:
- docker_templates
ros2_packages:
- ros1-bridge
- turtlebot2-demo
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ platform:
os_code_name: $os_code_name
rosdistro_name: $rosdistro_name
ros2distro_name: $release_name
user_name: ros2
user_name: ros
maintainer_name:
arch: amd64
type: distribution
version: false
version:
28 changes: 28 additions & 0 deletions ros/ardent/ubuntu/xenial/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=ros:ardent-ros-core-xenial ros-core/.
@docker build --tag=ros:ardent-ros-base-xenial ros-base/.
# @docker build --tag=osrf/ros:ardent-desktop-xenial desktop/.
# @docker build --tag=osrf/ros:ardent-ros1-bridge-xenial ros1-bridge/.

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

clean:
@docker rmi -f ros:ardent-ros-core-xenial
@docker rmi -f ros:ardent-ros-base-xenial
# @docker rmi -f osrf/ros:ardent-desktop-xenial
# @docker rmi -f osrf/ros:ardent-ros1-bridge-xenial
8 changes: 8 additions & 0 deletions ros/ardent/ubuntu/xenial/desktop/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This is an auto generated Dockerfile for ros:desktop
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:ardent-ros-base-xenial
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-ardent-desktop=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

14 changes: 14 additions & 0 deletions ros/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
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,36 @@ images:
ros-core:
base_image: @(os_name):@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_core_image.Dockerfile.em
entrypoint_name: docker_images/ros2_entrypoint.sh
template_name: docker_images_ros2/create_ros_core_image.Dockerfile.em
entrypoint_name: docker_images_ros2/ros_entrypoint.sh
pip3_install:
- argcomplete
template_packages:
- docker_templates
ros2_packages:
- ros-core
ros-base:
base_image: osrf/@(user_name):@(ros2distro_name)-ros-core
base_image: @(user_name):@(ros2distro_name)-ros-core-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_image.Dockerfile.em
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- ros-base
desktop:
base_image: osrf/@(user_name):@(ros2distro_name)-ros-base
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_image.Dockerfile.em
template_name: docker_images_ros2/create_ros_image.Dockerfile.em
template_packages:
- docker_templates
ros2_packages:
- desktop
ros1-bridge:
base_image: osrf/@(user_name):@(ros2distro_name)-desktop
base_image: @(user_name):@(ros2distro_name)-ros-base-@(os_code_name)
maintainer_name: @(maintainer_name)
template_name: docker_images/create_ros2_ros1_bridge_image.Dockerfile.em
entrypoint_name: docker_images/ros1_bridge_entrypoint.sh
template_name: docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
entrypoint_name: docker_images_ros2/ros1_bridge/ros_entrypoint.sh
template_packages:
- docker_templates
ros2_packages:
- ros1-bridge
- turtlebot2-demo
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ platform:
os_code_name: xenial
rosdistro_name: kinetic
ros2distro_name: ardent
user_name: ros2
user_name: ros
maintainer_name:
arch: amd64
type: distribution
version: false
version:
8 changes: 8 additions & 0 deletions ros/ardent/ubuntu/xenial/ros-base/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This is an auto generated Dockerfile for ros:ros-base
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:ardent-ros-core-xenial
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-ardent-ros-base=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

49 changes: 49 additions & 0 deletions ros/ardent/ubuntu/xenial/ros-core/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# This is an auto generated Dockerfile for ros:ros-core
# generated from docker_images_ros2/create_ros_core_image.Dockerfile.em
FROM ubuntu:xenial

# install packages
RUN apt-get update && apt-get install -q -y \
dirmngr \
gnupg2 \
lsb-release \
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 echo "deb http://packages.ros.org/ros2/ubuntu `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

# 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=0.4.0-1* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
COPY ./ros_entrypoint.sh /

ENTRYPOINT ["/ros_entrypoint.sh"]
CMD ["bash"]
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This is an auto generated Dockerfile for ros2:ros1-bridge
# generated from docker_images/create_ros2_ros1_bridge_image.Dockerfile.em
FROM osrf/ros2:ardent-desktop
# This is an auto generated Dockerfile for ros:ros1-bridge
# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
FROM ros:ardent-ros-base-xenial

# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116
Expand All @@ -12,12 +12,11 @@ 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* \
&& rm -rf /var/lib/apt/lists/*

# setup entrypoint
COPY ./ros1_bridge_entrypoint.sh /
COPY ./ros_entrypoint.sh /

ENTRYPOINT ["/ros1_bridge_entrypoint.sh"]
ENTRYPOINT ["/ros_entrypoint.sh"]
CMD ["bash"]
14 changes: 14 additions & 0 deletions ros/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
28 changes: 28 additions & 0 deletions ros/bouncy/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=ros:bouncy-ros-core-bionic ros-core/.
@docker build --tag=ros:bouncy-ros-base-bionic ros-base/.
# @docker build --tag=osrf/ros:bouncy-desktop-bionic desktop/.
# @docker build --tag=osrf/ros:bouncy-ros1-bridge-bionic ros1-bridge/.

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

clean:
@docker rmi -f ros:bouncy-ros-core-bionic
@docker rmi -f ros:bouncy-ros-base-bionic
# @docker rmi -f osrf/ros:bouncy-desktop-bionic
# @docker rmi -f osrf/ros:bouncy-ros1-bridge-bionic
8 changes: 8 additions & 0 deletions ros/bouncy/ubuntu/bionic/desktop/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This is an auto generated Dockerfile for ros:desktop
# generated from docker_images_ros2/create_ros_image.Dockerfile.em
FROM ros:bouncy-ros-base-bionic
# install ros2 packages
RUN apt-get update && apt-get install -y \
ros-bouncy-desktop=0.5.1-0* \
&& rm -rf /var/lib/apt/lists/*

14 changes: 14 additions & 0 deletions ros/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
Loading