Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
2e71b90
Make GILReleaser exception-safe (#2363)
gleichdick Oct 13, 2020
2853018
Unit Test for ByteString-based ROS msg conversion (#2362)
gleichdick Oct 13, 2020
3da197e
Fixup 2e71b90: Remove unused variable
rhaschke Oct 13, 2020
ff552bf
Update collision-related comments (#2382)
Ghenohenomohe Oct 23, 2020
0f9e6ac
Start new joint_state_publisher_gui on param use_gui (#2257)
ymollard Aug 19, 2020
f9c4a15
add soname version to moveit_servo (#2266)
tylerjw Aug 19, 2020
947c600
Move constraint representation dox to moveit_tutorials (#2147)
davetcoleman Aug 19, 2020
e36f76c
Update last_sent_command_ at ServoCalcs start (#2249)
AdamPettinger Aug 26, 2020
2565c0d
Add a utility to print collision pairs (#2275)
AndyZe Aug 26, 2020
f6cbae2
Cleanup: Add a utility to print collision pairs (#2278)
rhaschke Aug 27, 2020
91cf232
Replace $(find xacro)/xacro -> xacro (#2282)
rhaschke Aug 28, 2020
c6b4a8a
[maint] Remove kinetic from Travis CI testing (#2295)
tylerjw Sep 3, 2020
75c2841
MSA: only write default_planner_config field if any is selected (#2293)
v4hn Sep 7, 2020
56c9319
[fix] Servo heap-buffer-overflow bug (#2307)
tylerjw Sep 13, 2020
f898ea0
Add comment to MOVEIT_CLASS_FORWARD (#2315)
felixvd Sep 15, 2020
aec6bbe
robot_description is already loaded in move_group.launch (#2313)
ymollard Sep 15, 2020
3db1665
Refactor velocity limit enforcement and add a unit test (#2260)
AndyZe Sep 15, 2020
9d02f4a
Fix Servo thread interruption (#2314)
AndyZe Sep 17, 2020
5244ce2
MGC: Improve exception messages (#2318)
v4hn Sep 18, 2020
1fb8b2c
Install python scripts via catkin_install_python()
rhaschke Sep 24, 2020
e933679
Remove shebang line from moveitjoy_module.py
rhaschke Sep 24, 2020
cab07be
Remove custom copy-assignment operator for DistanceResultsData
rhaschke Sep 30, 2020
1f7c21b
perception: add missing dependency to OpenMP
rhaschke Sep 30, 2020
f2ea5ae
Silent deprecation warnings of gtest's typed test suites
rhaschke Sep 30, 2020
ca03166
Handle multiple link libraries for FCL (#2325)
rhaschke Sep 30, 2020
67ccabb
[fix] Segfault when editing pose in moveit_setup_assistant (#2340)
tylerjw Oct 2, 2020
0ab82c3
Fix "Clear Octomap" button, disable when no octomap is published (#2320)
felixvd Oct 4, 2020
3063b5f
moveit_cpp: more informative error message, cover another potential f…
AndyZe Oct 5, 2020
6212609
remove commented, copy-pasted code
rhaschke Oct 5, 2020
efd20cc
Fix ROS namespacing in moveit_commander's PSI (#2347)
PeterMitrano Oct 5, 2020
c6e1958
Reorder buttons in GroupEditWidgets
rhaschke Oct 5, 2020
d991a23
Replace dummy QWidgets with QSpacerItems
rhaschke Oct 5, 2020
d31d712
Use QStackedWidget instead of QWidget+QStackedLayout
rhaschke Oct 5, 2020
42a9cf1
Increase minimal window size
rhaschke Oct 5, 2020
e0ecb24
Cleanup Qt includes
rhaschke Oct 5, 2020
16861c6
Cleanup ROS includes
rhaschke Oct 5, 2020
2bc7124
Fix unused-parameter warnings
rhaschke Oct 6, 2020
41d6e4a
MSA: Allow showing both, visual and collision geometry (#2352)
rhaschke Oct 6, 2020
3a81c52
MSA: Fix group editing (#2350)
rhaschke Oct 7, 2020
9dab7b1
move_group: simplify test launch files
v4hn Oct 9, 2020
3bde617
A library for servoing toward a moving pose (#2203)
Oct 11, 2020
6a5c157
Python interface improvements. Fix #1966, add enforceBounds (#2356)
PeterMitrano Oct 14, 2020
e8fe263
Fix ordering of windup args to control_toolbox::Pid (#2370)
nbbrooks Oct 15, 2020
080c5e3
MSA launch files: fix indentation (#2371)
DLu Oct 16, 2020
1141951
Update .github files (#2380)
DLu Oct 21, 2020
e200231
Fix servo trajectory point timestamping (#2375)
Oct 21, 2020
ff32c43
Change servo namespacing logic (#2354)
Oct 22, 2020
696df9f
Cleanup current state handling in servo (#2372)
tylerjw Oct 22, 2020
4bad84b
Clean up Rviz Motion Planning plugin, add tooltips (#2310)
felixvd Nov 19, 2020
ac39a6e
Changelogs for 1.0.7
tylerjw Nov 20, 2020
701fbdd
1.0.7
tylerjw Nov 20, 2020
0d62a34
RobotModelBuilder: Allow adding end effectors (#2454)
rhaschke Dec 9, 2020
8337955
RobotModelBuilder: Add parameter to specify the joint rotation axis
JafarAbdi Nov 27, 2020
1e6fd14
Suppress warnings "mesh_use_embedded_materials is ignored"
rhaschke Jan 14, 2021
45e2be9
[backport] Pilz planner merge (#2507)
martiniil Mar 2, 2021
7e3f4bb
Migrate from Travis to GitHub Actions
tylerjw Mar 25, 2021
20bc17c
Fix formatting errors
tylerjw Mar 25, 2021
9de7bd2
use new melodic-devel branch for moveit_resources
v4hn Apr 26, 2021
460be6b
Drop Indigo from readme CI table
tylerjw Apr 26, 2021
7c2d606
Simplify logic in PSM (#2632) (#2637)
JafarAbdi Apr 30, 2021
89210ed
Fix pose tracking race condition (#2395)
Oct 31, 2020
40fa98c
Fix QObject::connect: Cannot queue arguments of type 'QVector<int>' (…
rhaschke Nov 4, 2020
e25bf6d
Fix empty sequence in moveit_setup_assistant (#2406)
DLu Nov 10, 2020
881d4d8
Move timer initialization down to fix potential race condition
AndyZe Nov 4, 2020
41874cd
Changed processing_thread_ spin to use std::make_unique instead of ne…
LegoYoda112 Nov 14, 2020
664d9c3
[feature] Low latency mode (#2401)
tylerjw Nov 16, 2020
d90acb3
Fix OrientationConstraint::decide (#2414)
stuart-fb Nov 18, 2020
1fb9d83
Prevent moveit_servo transforms between fixed frames from causing tim…
nbbrooks Nov 20, 2020
52225bb
docker-source: support running clang-tidy (#2430)
archonixX Nov 26, 2020
081fe95
Upgrade cmake_minimum_required to 3.1 (#2453)
rhaschke Dec 8, 2020
c4f8fd4
Fix validation of orientation constraints (#2434)
JafarAbdi Nov 27, 2020
779d3e4
Fix doxygen documentation for setToIKSolverFrame (#2461)
Dec 17, 2020
e9c5d18
Add an important sleep in Servo pose tracking (#2463)
Dec 18, 2020
171aee4
Missing RViz and moveit_simple_controller_manager dependencies in MSA…
DLu Dec 21, 2020
929bfe1
Fix some typos in comments (#2466)
Udbhavbisarya23 Dec 22, 2020
cb775ca
Catch exceptions during RobotModel loading in rviz (#2468)
Dec 28, 2020
594342d
Python3 compatibility for ikfast's round_collada_numbers.py (#2473)
Tobias-Fischer Jan 6, 2021
7879b39
[Servo] Fix initial angle error is always 0 (#2464)
AdamPettinger Jan 7, 2021
558c528
Fix RobotState::dropAccelerations/dropEffort to not drop velocities (…
sevangelatos Jan 11, 2021
98177e3
pilz planner: add string includes (#2483)
v4hn Jan 12, 2021
ca653f8
Clean up collision-related log statements (#2480)
Jan 12, 2021
f8216e9
Fix scaling factor parameter names (#2452)
ShotaAk Jan 13, 2021
c02baf7
Improve robustness of move group interface test (#2484)
bostoncleek Jan 13, 2021
5a1da2e
Use kinematics solver timeout if not specified otherwise (#2489)
martiniil Jan 20, 2021
1ada1db
Do not break out of loop -- need to update low pass filters (#2496)
Jan 22, 2021
248b397
Protect paused_ flag, for thread safety (#2494)
Jan 22, 2021
bb54b12
Add missing dependency on joint_limits_interface (#2487)
ct2034 Jan 27, 2021
741a9a3
Refactor Servo velocity bounds enforcement (#2471)
Feb 4, 2021
e4c1525
Servo: add missing include (#2519)
v4hn Feb 16, 2021
36f4ad2
It's not an error not to define a plugin (#2521)
v4hn Feb 17, 2021
89214a5
Update README.md (#2525)
jschleicher Feb 22, 2021
8cd6d7b
Update doxygen comments for distance() and interpolate() (#2528)
Feb 23, 2021
e3beb96
Add debugging log statement for a common error (#2509)
PeterMitrano Feb 25, 2021
5781a59
add get_active_joint_names (#2533)
PeterMitrano Mar 1, 2021
9cbfd87
Add utility functions to Python PSI (#2532)
felixvd Mar 2, 2021
ede1e7d
thread safety in clear octomap & only update geometry (#2500)
simonschmeisser Mar 3, 2021
d5c4d7f
Sanitize CHOMP initialization method parameter (#2540)
onionsflying Mar 10, 2021
b973cc5
Enable mesh filter (#2448)
JafarAbdi Mar 10, 2021
a6035da
stop_requested_ flag clearing fix (#2537)
parunapu Mar 11, 2021
3aea9b1
Fixed flood of errors on startup for `mesh_filter` (#2550)
Mar 12, 2021
37c6c1a
PlanExecution: Correctly handle preempt-requested flag (#2554)
v4hn Mar 19, 2021
f310c58
[Servo] Halt Servo command on Pose Tracking stop (#2501)
AdamPettinger Mar 22, 2021
3cd504c
Fix segfault in MSA (#2564)
v4hn Mar 25, 2021
80ae2c9
Make setToIKSolverFrame accessible again (#2580)
v4hn Apr 6, 2021
7a6731a
Keep MotionPlanningFrame hidden on Display::reset()
rhaschke Apr 6, 2021
b36d782
Call renderPlanningScene() only if planning_scene_render_ is valid
rhaschke Apr 6, 2021
a505a74
Fix deadlock in PlanningSceneDisplay
rhaschke Apr 6, 2021
118b158
GHA: Add pre-release job
rhaschke Apr 9, 2021
70fd40c
Avoid joint jump when SuddenHalt() is called in velocity mode (#2594)
nbbrooks Apr 13, 2021
ea4bbc6
Let users override fake execution type from demo.launch (#2602)
v4hn Apr 14, 2021
fe5c05f
Add clear() to Python PSI, allow empty call to remove_attached_object…
felixvd Apr 18, 2021
31cbe60
Velocity limit error (#2610)
christianlandgraf Apr 19, 2021
27d7c2c
Call setStatus from main GUI thread only
rhaschke Apr 25, 2021
e3ffb18
Remove unused model_is_loading_
rhaschke Apr 25, 2021
f010ff0
Remove redundant planning_scene_render_.reset();
rhaschke Apr 25, 2021
2a7e21e
fix docstring in MGI API (#2626)
v4hn Apr 28, 2021
2cf2f90
Fix missing isEmpty check in compute_ik service (#2544)
v4hn Mar 10, 2021
f278b48
Set rotation value of cartesian MaxEEFStep by default (#2614)
v4hn Apr 29, 2021
330c86f
FixStartStateBounds: Copy attached bodies when adapting the start sta…
rhaschke Nov 3, 2020
1578ed5
Provide a function to set the position of active joints in a JointMod…
Dec 31, 2020
46f1104
prerelease test: add moveit_resources
rhaschke Apr 30, 2021
3a60c5f
melodic backport for #2547 (#2651)
PeterMitrano May 20, 2021
d524a7a
GHA: Unify with noetic-devel branch
rhaschke May 23, 2021
b22ec80
Add missing OCTOMAP_INCLUDE_DIRS (#2671)
0Nel May 23, 2021
2e69e47
docker-source: Source environment of $ROS_UNDERLAY (#2607)
rhaschke May 23, 2021
c21f459
Document solution in ROS_ERROR on failed self-filtering (#2627)
v4hn Apr 29, 2021
81693d0
Print error before returning (#2639)
lucbettaieb Apr 30, 2021
5d48870
planning_interface: synchronize async interfaces in test (#2640)
v4hn May 3, 2021
cdc1e4c
Add sphinx-rtd-theme for python docs as a dependency (#2645)
PeterMitrano May 4, 2021
1f34165
ikfast script: install sympy 0.7.1 from git (#2650)
ags-dy May 6, 2021
5b96982
Unify + simplify CSM::haveCompleteState overloads (#2663)
v4hn May 12, 2021
eb6b630
RobotState interpolation: warn if interpolation parameter is out of r…
May 18, 2021
a878f94
Improve ikfast QUIET handling (#2685)
rhaschke May 23, 2021
c03f2ac
1.0.8
rhaschke May 23, 2021
14ada02
ICI: Add moveit_resources to target workspace
rhaschke May 23, 2021
34c998e
Split upstream and downstream workspaces (#2690)
rhaschke May 24, 2021
1971cf5
MSA: Sensor config writing (#2708)
DLu Jun 3, 2021
e3438d6
CI: Fail on compiler warnings (#2687)
rhaschke May 24, 2021
dc5b410
Fix Dockerfiles
rhaschke Jun 7, 2021
c7a7d69
fix padding collision attached objects + fromatting (#2721)
apupa Jun 22, 2021
5accdde
msa: capabilities-related args are args in template (fix #2728) (#2729)
gavanderhoorn Jun 22, 2021
e064025
code fix on wrong substitution
toru-kuga Aug 16, 2021
a780c15
CI: Update pat-s/always-upload-cache
Aug 19, 2021
b2e08c1
Revert "Fix scaling factor parameter names (#2452)" (#2907)
v4hn Oct 17, 2021
0082c0f
Fix an off-by-one error in servo_calcs.cpp (#2740) (#2908)
v4hn Oct 18, 2021
7fcf076
CI: Adopt settings from noetic-devel
rhaschke Nov 5, 2021
cd9f362
Adapt CXXFLAGS
rhaschke Nov 5, 2021
fdd76ad
CI: Skip clang-format when clang-tidying
rhaschke Nov 19, 2021
b08727c
Apply trivial clang-tidy fixes
rhaschke Nov 19, 2021
43c60c4
clang-tidy: NOLINT
rhaschke Nov 19, 2021
535f3ed
Merge pull request #2971 from ubi-agni/fix-clang-tidy
v4hn Dec 10, 2021
0cd15de
Pilz unittests: use test_environment.launch
rhaschke Nov 4, 2021
2cd921f
Rename launch argument execution_type -> fake_execution_type
rhaschke Nov 4, 2021
b1ffe48
moveit_controller_manager.launch: pass execution_type via pass_all_ar…
rhaschke Oct 22, 2021
713a96b
Fix definition of real-robot moveit_controller_manager
rhaschke Oct 23, 2021
c25eeed
Use test_environment.launch in unittests
rhaschke Nov 5, 2021
ce24f7c
Remove unused moveit_planning_execution.launch
rhaschke Nov 5, 2021
371cc4a
Provide MOVEIT_VERSION_CHECK macro (#2997)
rhaschke Dec 17, 2021
eaa0084
Move MoveItErrorCode class to moveit_core (#3009)
rhaschke Dec 29, 2021
b8603b4
Increase ccache size (#2990)
tylerjw Dec 13, 2021
e123e4f
Add missing noexcept declarations (#3016)
rhaschke Dec 29, 2021
e4b04a7
Use move_group namespace
rhaschke Nov 18, 2021
0247b56
Switch to moveit_resource@master
rhaschke Nov 5, 2021
9b622a7
Support new configuration scheme with multiple pipelines
rhaschke Nov 5, 2021
d9b4eec
clang-format
rhaschke Jan 2, 2022
393815e
Make TimeParameterization classes polymorphic (#3021) (#3023)
rhaschke Jan 7, 2022
b411e46
Merge #2951: Use moveit-resources@master
rhaschke Jan 9, 2022
e12053f
1.0.9
rhaschke Jan 9, 2022
462b2c0
Add Ptr definitions for TimeParameterization classes (#3078)
v4hn Mar 4, 2022
789f44e
1.0.10
rhaschke Mar 6, 2022
1831134
feat(simple_controller_manager): add `max_effort` parameter to Grippe…
v4hn Mar 16, 2022
5b6194f
auto_create_ikfast_moveit_plugin.sh: allow xacro input
rhaschke Jul 8, 2022
0af816e
Fix run_quiet()
rhaschke Jul 8, 2022
b3f9967
Fix test_ikfast_plugins.sh
rhaschke Jul 8, 2022
c6bedee
Update pre-commit hooks
rhaschke Aug 26, 2022
4fccf94
Apply black formatting
rhaschke Aug 26, 2022
bb005c2
Backport #3172: Fix ikfast CI
rhaschke Aug 26, 2022
2433d8f
Backport Dockerfile changes (#3201)
rhaschke Sep 1, 2022
c6933ba
Fix CI: Relax compiler warnings (#3203)
rhaschke Sep 2, 2022
a619a2a
Dockerfile: Update ci-shadow-fixed -> ci-testing
rhaschke Sep 3, 2022
f736c3a
Pass xacro_args to both, urdf and srdf loading (#3200)
rhaschke Sep 3, 2022
1fbb2c4
1.0.11
rhaschke Sep 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .docker/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# MoveIt! Docker Containers
# MoveIt Docker Containers

For more information see [Continuous Integration and Docker](http://moveit.ros.org/documentation/contributing/continuous_integration.html) documentation.
For more information see the pages [Continuous Integration and Docker](http://moveit.ros.org/documentation/contributing/continuous_integration.html) and [Using Docker Containers with MoveIt](https://moveit.ros.org/install/docker/).
15 changes: 0 additions & 15 deletions .docker/ci-shadow-fixed/Dockerfile

This file was deleted.

15 changes: 15 additions & 0 deletions .docker/ci-testing/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# moveit/moveit:melodic-ci-testing
# Sets up a base image to use for running Continuous Integration on Travis

FROM moveit/moveit:melodic-ci
MAINTAINER Robert Haschke rhaschke@techfak.uni-bielefeld.de

# Switch to ros-testing
RUN echo "deb http://packages.ros.org/ros-testing/ubuntu `lsb_release -cs` main" | tee /etc/apt/sources.list.d/ros1-latest.list

# Upgrade packages to ros-testing and clean apt-cache within one RUN command
RUN apt-get -qq update && \
apt-get -qq -y dist-upgrade && \
#
# Clear apt-cache to reduce image size
rm -rf /var/lib/apt/lists/*
44 changes: 22 additions & 22 deletions .docker/ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,48 @@
# Sets up a base image to use for running Continuous Integration on Travis

FROM ros:melodic-ros-base
MAINTAINER Dave Coleman dave@picknik.ai
MAINTAINER Robert Haschke rhaschke@techfak.uni-bielefeld.de

ENV TERM xterm

# Setup (temporary) ROS workspace
WORKDIR /root/ws_moveit

# Copy MoveIt sources from docker context
COPY . src/moveit

# Commands are combined in single RUN statement with "apt/lists" folder removal to reduce image size
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#minimize-the-number-of-layers
RUN \
mkdir src && \
cd src && \
#
# Download moveit source, so that we can get necessary dependencies
wstool init --shallow . https://raw.githubusercontent.com/ros-planning/moveit/${ROS_DISTRO}-devel/moveit.rosinstall && \
#
# Update apt package list as previous containers clear the cache
apt-get -qq update && \
apt-get -qq dist-upgrade && \
apt-get -q update && \
apt-get -q -y dist-upgrade && \
#
# Install some base dependencies
apt-get -qq install -y \
# Some source builds require a package.xml be downloaded via wget from an external location
wget \
# Required for rosdep command
sudo \
apt-get -q install --no-install-recommends -y \
# Some basic requirements
wget git sudo \
# Preferred build tools
python-catkin-tools \
python$(test "${ROS_DISTRO}" = "noetic" && echo 3)-catkin-tools \
clang clang-format-10 clang-tidy clang-tools \
ccache && \
#
# Download all dependencies of MoveIt!
rosdep update && \
rosdep install -y --from-paths . --ignore-src --rosdistro ${ROS_DISTRO} --as-root=apt:false && \
# Download MoveIt sources, so that we can fetch all necessary dependencies
wstool init --shallow src src/moveit/.github/workflows/upstream.rosinstall && \
git clone --depth 1 --branch ${ROS_DISTRO}-devel https://github.com/ros-planning/moveit_resources src/moveit_resources && \
#
# Download all dependencies of MoveIt
rosdep update && \
DEBIAN_FRONTEND=noninteractive \
rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} --as-root=apt:false && \
# Remove the source code from this container
# TODO: in the future we may want to keep this here for further optimization of later containers
cd .. && \
rm -rf src/ && \
rm -rf src && \
#
# Clear apt-cache to reduce image size
rm -rf /var/lib/apt/lists/*
rm -rf /var/lib/apt/lists/* && \
# Globally disable git security
# https://github.blog/2022-04-12-git-security-vulnerability-announced
git config --global --add safe.directory "*"

# Continous Integration Setting
ENV IN_DOCKER 1
5 changes: 3 additions & 2 deletions .docker/release/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# moveit/moveit:melodic-release
# Full debian-based install of MoveIt! using apt-get
# Full debian-based install of MoveIt using apt-get

FROM ros:melodic-ros-base
MAINTAINER Dave Coleman dave@picknik.ai

# Commands are combined in single RUN statement with "apt/lists" folder removal to reduce image size
RUN apt-get update && \
RUN apt-get update -q && \
apt-get dist-upgrade -q -y && \
apt-get install -y ros-${ROS_DISTRO}-moveit-* && \
rm -rf /var/lib/apt/lists/*
43 changes: 24 additions & 19 deletions .docker/source/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
# syntax = docker/dockerfile:1.3

# moveit/moveit:melodic-source
# Downloads the moveit source code and install remaining debian dependencies

FROM moveit/moveit:melodic-ci-shadow-fixed
MAINTAINER Dave Coleman dave@picknik.ai
FROM moveit/moveit:melodic-ci-testing
MAINTAINER Robert Haschke rhaschke@techfak.uni-bielefeld.de

ENV PYTHONIOENCODING UTF-8
# Export ROS_UNDERLAY for downstream docker containers
ENV ROS_UNDERLAY /root/ws_moveit/install
WORKDIR $ROS_UNDERLAY/../src
# Environment variable used in instructions on moveit.ros.org website for running clang-tidy
ENV CATKIN_WS $(realpath $ROS_UNDERLAY/..)
WORKDIR $ROS_UNDERLAY/..

# Copy MoveIt sources from docker context
COPY . src/moveit

# Commands are combined in single RUN statement with "apt/lists" folder removal to reduce image size
# https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#minimize-the-number-of-layers
RUN \
# Download moveit source so that we can get necessary dependencies
wstool init . https://raw.githubusercontent.com/ros-planning/moveit/${ROS_DISTRO}-devel/moveit.rosinstall && \
#
# Update apt package list as cache is cleared in previous container
# Usually upgrading involves a few packages only (if container builds became out-of-sync)
apt-get -qq update && \
apt-get -qq dist-upgrade && \
RUN --mount=type=cache,target=/root/.ccache/ \
# Enable ccache
PATH=/usr/lib/ccache:$PATH && \
# Fetch required upstream sources for building
wstool init --shallow src src/moveit/.github/workflows/upstream.rosinstall && \
git clone --depth 1 --branch ${ROS_DISTRO}-devel https://github.com/ros-planning/moveit_resources src/moveit_resources && \
#
rosdep update && \
rosdep install -y --from-paths . --ignore-src --rosdistro ${ROS_DISTRO} --as-root=apt:false && \
rm -rf /var/lib/apt/lists/*

ENV PYTHONIOENCODING UTF-8
RUN cd .. && \
catkin config --extend /opt/ros/$ROS_DISTRO --install --cmake-args -DCMAKE_BUILD_TYPE=Release && \
catkin config --extend /opt/ros/$ROS_DISTRO --install --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON && \
# Status rate is limited so that just enough info is shown to keep Docker from timing out,
# but not too much such that the Docker log gets too long (another form of timeout)
catkin build --limit-status-rate 0.001 --no-notify
catkin build --limit-status-rate 0.001 --no-notify && \
ccache -s && \
#
# Update /ros_entrypoint.sh to source our new workspace
sed -i "s#/opt/ros/\$ROS_DISTRO/setup.bash#$ROS_UNDERLAY/setup.sh#g" /ros_entrypoint.sh
37 changes: 37 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# ignore everything
*
# but include these:
!.github/workflows/upstream.rosinstall
!**/package.xml
!**/CATKIN_IGNORE

# https://github.com/moby/moby/issues/42788
!moveit_plugins/moveit_plugins/package.xml
!moveit_plugins/moveit_ros_control_interface/package.xml
!moveit_plugins/moveit_simple_controller_manager/package.xml
!moveit_plugins/moveit_fake_controller_manager/package.xml
!moveit_kinematics/package.xml
!moveit_setup_assistant/package.xml
!moveit_core/package.xml
!moveit_commander/package.xml
!moveit_planners/ompl/package.xml
!moveit_planners/chomp/chomp_motion_planner/package.xml
!moveit_planners/chomp/chomp_interface/package.xml
!moveit_planners/chomp/chomp_optimizer_adapter/package.xml
!moveit_planners/pilz_industrial_motion_planner_testutils/package.xml
!moveit_planners/pilz_industrial_motion_planner/package.xml
!moveit_planners/moveit_planners/package.xml
!moveit_runtime/package.xml
!moveit/package.xml
!moveit_ros/warehouse/package.xml
!moveit_ros/moveit_servo/package.xml
!moveit_ros/occupancy_map_monitor/package.xml
!moveit_ros/perception/package.xml
!moveit_ros/move_group/package.xml
!moveit_ros/robot_interaction/package.xml
!moveit_ros/visualization/package.xml
!moveit_ros/manipulation/package.xml
!moveit_ros/planning/package.xml
!moveit_ros/planning_interface/package.xml
!moveit_ros/benchmarks/package.xml
!moveit_ros/moveit_ros/package.xml
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
Overview of your issue here.

### Your environment
* ROS Distro: [Indigo|Jade|Kinetic]
* OS Version: e.g. Ubuntu 16.04
* ROS Distro: [Kinetic|Melodic|Noetic]
* OS Version: e.g. Ubuntu 18.04
* Source or Binary build?
* If binary, which release version?
* If source, which git commit or tag?
Expand Down
File renamed without changes.
152 changes: 152 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)

name: CI

on:
workflow_dispatch:
pull_request:
push:
branches:
- melodic-devel

jobs:
default:
strategy:
fail-fast: false
matrix:
env:
- IMAGE: melodic-ci
CCOV: true
- IMAGE: melodic-ci-testing
IKFAST_TEST: true
CATKIN_LINT: true
CLANG_TIDY: pedantic
env:
CXXFLAGS: >-
-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls
-Wno-unused-parameter
${{ matrix.env.CLANG_TIDY && '-Wno-c++17-compat -Wno-overloaded-virtual -Wno-unused-function' || '-Wno-unused-but-set-parameter' }}
CLANG_TIDY_ARGS: --fix --fix-errors
DOCKER_IMAGE: moveit/moveit:${{ matrix.env.IMAGE }}
UPSTREAM_WORKSPACE: .github/workflows/upstream.rosinstall
TARGET_WORKSPACE: $TARGET_REPO_PATH github:ros-planning/moveit_resources#master
DOWNSTREAM_WORKSPACE: .github/workflows/downstream.rosinstall
# Pull any updates to the upstream workspace (after restoring it from cache)
AFTER_SETUP_UPSTREAM_WORKSPACE: vcs pull $BASEDIR/upstream_ws/src
AFTER_SETUP_DOWNSTREAM_WORKSPACE: vcs pull $BASEDIR/downstream_ws/src
# Clear the ccache stats before and log the stats after the build
AFTER_SETUP_CCACHE: ccache --zero-stats --max-size=10.0G
AFTER_BUILD_TARGET_WORKSPACE: ccache --show-stats
AFTER_BUILD_DOWNSTREAM_WORKSPACE: ccache --show-stats
# Compile CCOV with Debug. Enable -Werror (except CLANG_TIDY=pedantic, which makes the clang-tidy step fail on warnings)
TARGET_CMAKE_ARGS: >
-DCMAKE_BUILD_TYPE=${{ matrix.env.CCOV && 'Debug' || 'Release'}}
-DCMAKE_CXX_FLAGS="${{ matrix.env.CLANG_TIDY != 'pedantic' && '-Werror ' || '' }}$CXXFLAGS${{ matrix.env.CCOV && ' --coverage -O2 -fno-omit-frame-pointer'}}"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_CXX_FLAGS=''"
DOWNSTREAM_CMAKE_ARGS: -DCMAKE_CXX_FLAGS="-Wall -Wextra"
CCACHE_DIR: ${{ github.workspace }}/.ccache
BASEDIR: ${{ github.workspace }}/.work
CLANG_TIDY_BASE_REF: ${{ github.event_name != 'workflow_dispatch' && (github.base_ref || github.ref) || '' }}
BEFORE_CLANG_TIDY_CHECKS: |
# Show list of applied checks
(cd $TARGET_REPO_PATH; clang-tidy --list-checks)
# Disable clang-tidy for ikfast plugins as we cannot fix the generated code
find $BASEDIR/target_ws/build -iwholename "*_ikfast_plugin/compile_commands.json" -exec rm {} \;
CC: ${{ matrix.env.CLANG_TIDY && 'clang' }}
CXX: ${{ matrix.env.CLANG_TIDY && 'clang++' }}

name: "${{ matrix.env.IMAGE }}${{ matrix.env.CATKIN_LINT && ' + catkin_lint' || ''}}${{ matrix.env.CCOV && ' + ccov' || ''}}${{ matrix.env.IKFAST_TEST && ' + ikfast' || ''}}${{ matrix.env.CLANG_TIDY && (github.event_name != 'workflow_dispatch' && ' + clang-tidy (delta)' || ' + clang-tidy (all)') || '' }}"
runs-on: ubuntu-latest
steps:
- name: "Free up disk space"
if: matrix.env.CCOV
run: |
sudo apt-get -qq purge build-essential "ghc*"
sudo apt-get clean
# cleanup docker images not used by us
docker system prune -af
# shift ccache folder to /mnt on a separate disk
sudo mkdir /mnt/ccache
mkdir ${{ env.CCACHE_DIR }}
sudo mount --bind ${{ env.CCACHE_DIR }} /mnt/ccache
# free up a lot of stuff from /usr/local
sudo rm -rf /usr/local
df -h
- uses: actions/checkout@v2
- name: Cache upstream workspace
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.BASEDIR }}/upstream_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
CACHE_PREFIX: upstream_ws-${{ matrix.env.IMAGE }}-${{ hashFiles('.github/workflows/upstream.rosinstall', '.github/workflows/ci.yaml') }}
- name: Cache downstream workspace
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.BASEDIR }}/downstream_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
CACHE_PREFIX: downstream_ws-${{ matrix.env.IMAGE }}-${{ hashFiles('.github/workflows/downstream.rosinstall', '.github/workflows/ci.yaml') }}
# The target directory cache doesn't include the source directory because
# that comes from the checkout. See "prepare target_ws for cache" task below
- name: Cache target workspace
if: "!matrix.env.CCOV"
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.BASEDIR }}/target_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
CACHE_PREFIX: target_ws${{ matrix.env.CCOV && '-ccov' || '' }}-${{ matrix.env.IMAGE }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml', '.github/workflows/ci.yaml') }}
- name: Cache ccache
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ env.CACHE_PREFIX }}-${{ github.sha }}
${{ env.CACHE_PREFIX }}
env:
CACHE_PREFIX: ccache-${{ matrix.env.IMAGE }}${{ matrix.env.CCOV && '-ccov' || '' }}

- name: Generate ikfast packages
if: matrix.env.IKFAST_TEST
run: moveit_kinematics/test/test_ikfast_plugins.sh
- id: ici
name: Run industrial_ci
uses: ros-industrial/industrial_ci@master

- name: Upload test artifacts (on failure)
uses: actions/upload-artifact@v2
if: failure() && (steps.ici.outputs.run_target_test || steps.ici.outputs.target_test_results)
with:
name: test-results-${{ matrix.env.IMAGE }}
path: ${{ env.BASEDIR }}/target_ws/**/test_results/**/*.xml
- name: Generate codecov report
uses: rhaschke/lcov-action@main
if: always() && matrix.env.CCOV && steps.ici.outputs.target_test_results == '0'
with:
docker: $DOCKER_IMAGE
workdir: ${{ env.BASEDIR }}/target_ws
ignore: '"*/target_ws/build/*" "*/target_ws/install/*" "*/test/*"'
- name: Upload codecov report
uses: codecov/codecov-action@v2
if: always() && matrix.env.CCOV && steps.ici.outputs.target_test_results == '0'
with:
files: ${{ env.BASEDIR }}/target_ws/coverage.info
- name: Upload clang-tidy changes
uses: rhaschke/upload-git-patch-action@main
if: always() && matrix.env.CLANG_TIDY
with:
name: clang-tidy
path: ${{ env.BASEDIR }}/target_ws/src/$(basename $(pwd))
- name: Prepare target_ws for cache
if: always() && !matrix.env.CCOV
run: |
du -sh ${{ env.BASEDIR }}/target_ws
sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
du -sh ${{ env.BASEDIR }}/target_ws
Loading