Skip to content

Commit

Permalink
Merge master into rework-python-api
Browse files Browse the repository at this point in the history
  • Loading branch information
rhaschke committed Jan 6, 2023
2 parents cf23150 + 8f4d313 commit a9a8ecf
Show file tree
Hide file tree
Showing 306 changed files with 6,604 additions and 3,858 deletions.
1 change: 1 addition & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Checks: '-*,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-avoid-bind,
misc-unused-parameters,
readability-named-parameter,
readability-redundant-smartptr-get,
Expand Down
10 changes: 5 additions & 5 deletions .docker/ci-testing/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# moveit/moveit:noetic-ci-shadow-fixed
# moveit/moveit:noetic-ci-testing
# Sets up a base image to use for running Continuous Integration on Travis

ARG IMAGE=noetic
FROM moveit/moveit:${IMAGE}-ci
MAINTAINER Robert Haschke [email protected]

# Switch to ros-shadow-fixed
RUN echo "deb http://packages.ros.org/ros-shadow-fixed/ubuntu `lsb_release -cs` main" | tee /etc/apt/sources.list.d/ros-latest.list
# 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-shadow-fixed and clean apt-cache within one RUN command
# Upgrade packages to ros-testing and clean apt-cache within one RUN command
RUN apt-get -qq update && \
apt-get -qq dist-upgrade && \
apt-get -qq -y dist-upgrade && \
#
# Clear apt-cache to reduce image size
rm -rf /var/lib/apt/lists/*
5 changes: 4 additions & 1 deletion .docker/ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,10 @@ RUN \
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
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "🛠️"
ignore:
# Official actions have moving tags like v1, v2, ... They don't need updates to specific versions
- dependency-name: "actions/checkout"
- dependency-name: "actions/setup-python"
- dependency-name: "actions/cache"
- dependency-name: "actions/upload-artifact"
- dependency-name: "actions/download-artifact"
- dependency-name: "actions/labeler"
31 changes: 20 additions & 11 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ on:
branches:
- master

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
default:
strategy:
Expand All @@ -19,7 +22,7 @@ jobs:
- IMAGE: noetic-ci
CCOV: true
BUILDER: catkin_tools_devel
- IMAGE: noetic-ci-shadow-fixed
- IMAGE: noetic-ci-testing
IKFAST_TEST: true
CATKIN_LINT: true
CLANG_TIDY: pedantic
Expand Down Expand Up @@ -59,7 +62,7 @@ jobs:
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
runs-on: ubuntu-20.04
steps:
- name: "Free up disk space"
if: matrix.env.CCOV
Expand All @@ -75,43 +78,47 @@ jobs:
# free up a lot of stuff from /usr/local
sudo rm -rf /usr/local
df -h
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Cache upstream workspace
uses: pat-s/always-upload-cache@v2.1.5
uses: rhaschke/cache@main
with:
path: ${{ env.BASEDIR }}/upstream_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
GHA_CACHE_SAVE: always
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
uses: rhaschke/cache@main
with:
path: ${{ env.BASEDIR }}/downstream_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
GHA_CACHE_SAVE: always
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
uses: rhaschke/cache@main
with:
path: ${{ env.BASEDIR }}/target_ws
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }}
restore-keys: ${{ env.CACHE_PREFIX }}
env:
GHA_CACHE_SAVE: always
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
uses: rhaschke/cache@main
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:
GHA_CACHE_SAVE: always
CACHE_PREFIX: ccache-${{ matrix.env.IMAGE }}${{ matrix.env.CCOV && '-ccov' || '' }}

- name: Generate ikfast packages
Expand All @@ -123,7 +130,7 @@ jobs:
env: ${{ matrix.env }}

- name: Upload test artifacts (on failure)
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure() && (steps.ici.outputs.run_target_test || steps.ici.outputs.target_test_results)
with:
name: test-results-${{ matrix.env.IMAGE }}
Expand All @@ -136,7 +143,7 @@ jobs:
workdir: ${{ env.BASEDIR }}/target_ws
ignore: '"*/target_ws/build/*" "*/target_ws/install/*" "*/test/*"'
- name: Upload codecov report
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v3
if: always() && matrix.env.CCOV && steps.ici.outputs.target_test_results == '0'
with:
files: ${{ env.BASEDIR }}/target_ws/coverage.info
Expand All @@ -151,16 +158,18 @@ jobs:
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
sudo rm -rf ${{ env.BASEDIR }}/target_ws/src ${{ env.BASEDIR }}/target_ws/logs
du -sh ${{ env.BASEDIR }}/target_ws
# Sync noetic-devel branch with master on successful build
sync-noetic-devel:
runs-on: ubuntu-latest
needs: default # only trigger on success of default build job
if: github.event_name == 'push' && github.repository_owner == 'ros-planning' && github.ref == 'refs/heads/master'
permissions:
contents: write # allow pushing
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Fast-forward noetic-devel to sync with master
run: |
# Configure push user+url
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ jobs:
run: |
apt-get update
have_updates=$(apt-get --simulate upgrade | grep -q "^0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.$" && echo false || echo true)
echo "::set-output name=no_cache::$have_updates"
echo "no_cache=$have_updates" >> "$GITHUB_OUTPUT"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
- name: Login to Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
with:
file: .docker/${{ github.job }}/Dockerfile
Expand Down Expand Up @@ -76,17 +76,17 @@ jobs:
run: |
apt-get update
have_updates=$(apt-get --simulate upgrade | grep -q "^0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.$" && echo false || echo true)
echo "::set-output name=no_cache::$have_updates"
echo "no_cache=$have_updates" >> "$GITHUB_OUTPUT"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
- name: Login to Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
with:
file: .docker/${{ github.job }}/Dockerfile
Expand Down Expand Up @@ -120,17 +120,17 @@ jobs:
run: |
apt-get update
have_updates=$(apt-get --simulate upgrade | grep -q "^0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.$" && echo false || echo true)
echo "::set-output name=no_cache::$have_updates"
echo "no_cache=$have_updates" >> "$GITHUB_OUTPUT"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
- name: Login to Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name != 'schedule' || steps.apt.outputs.no_cache }}
with:
file: .docker/${{ github.job }}/Dockerfile
Expand All @@ -157,18 +157,18 @@ jobs:
IMAGE: moveit/moveit:${{ matrix.IMAGE }}-${{ github.job }}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
- name: Login to Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: "Remove .dockerignore"
run: rm .dockerignore # enforce full source context
- name: Build and Push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
context: .
file: .docker/${{ github.job }}/Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/downstream.rosinstall
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
- git:
local-name: panda_moveit_config
uri: https://github.com/ros-planning/panda_moveit_config.git
version: melodic-devel
version: noetic-devel
10 changes: 6 additions & 4 deletions .github/workflows/format.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,19 @@ on:
pull_request:
push:

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
pre-commit:
name: pre-commit
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v3
- name: Install clang-format-10
run: sudo apt-get install clang-format-10
- uses: rhaschke/[email protected]
- uses: pre-commit/action@v2.0.3
- uses: pre-commit/action@v3.0.0
id: precommit
- name: Upload pre-commit changes
if: failure() && steps.precommit.outcome == 'failure'
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/prerelease.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ name: pre-release
on:
workflow_dispatch:

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
default:
strategy:
Expand All @@ -32,6 +35,6 @@ jobs:
# free up a lot of stuff from /usr/local
sudo rm -rf /usr/local
df -h
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: industrial_ci
uses: ros-industrial/industrial_ci@master
4 changes: 2 additions & 2 deletions .github/workflows/robostack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Set up Build Dependencies
uses: mamba-org/provision-with-micromamba@v11
uses: mamba-org/provision-with-micromamba@v14
with:
environment-file: .github/robostack_env.yaml
micromamba-version: 0.17.0
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/upstream.rosinstall
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@
local-name: geometric_shapes
uri: https://github.com/ros-planning/geometric_shapes.git
version: noetic-devel
- git:
local-name: srdfdom
uri: https://github.com/ros-planning/srdfdom
version: noetic-devel
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ repos:
- id: trailing-whitespace

- repo: https://github.com/psf/black
rev: 20.8b1
rev: 22.3.0
hooks:
- id: black

Expand Down
4 changes: 4 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ API changes in MoveIt releases
- In case you start RViz in a namespace, the default topic for the trajectory visualization display now uses the relative instead of the absolute namespace (i.e. `<ns>/move_group/display_planned_path` instead of `/move_group/display_planned_path`).
- `RobotState::attachBody()` now takes a unique_ptr instead of an owning raw pointer.
- Moved the class `MoveItErrorCode` from both `moveit_ros_planning` and `moveit_ros_planning_interface` to `moveit_core`. The class now is in namespace `moveit::core`, access via `moveit::planning_interface` or `moveit_cpp::PlanningComponent` is deprecated.
- End-effector markers in rviz are shown only if the eef's parent group is active _and_ the parent link is part of that group. Before, these conditions were _OR_-connected.
You might need to define additional end-effectors.
- Removed `ConstraintSampler::project()` as there was no real difference to `sample()`.
- Removed `TrajectoryExecutionManager::pushAndExecute()` and the code associated to it. The code was unused and broken.
- Thoroughly reworked Python API
- Migrated C++ wrapper to pybind11, renaming libs to pymoveit_*.so
- Moved `py_bindings_tools` from `moveit_ros_planning_interface` to `moveit_core`
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<img src="https://moveit.ros.org/assets/logo/moveit_logo-black.png" alt="MoveIt Logo" width="200"/>

**The MoveIt Motion Planning Framework**
The [MoveIt Motion Planning Framework for ROS](http://moveit.ros.org). For the ROS 2 repository see [MoveIt 2](https://github.com/ros-planning/moveit2).

*Easy-to-use open source robotics manipulation platform for developing commercial applications, prototyping designs, and benchmarking algorithms.*

Expand All @@ -14,7 +14,7 @@
- We develop latest features on `master`.
- The `*-devel` branches correspond to released and stable versions of MoveIt for specific distributions of ROS. `noetic-devel` is synced to `master` currently.
- Bug fixes occasionally get backported to these released versions of MoveIt.
- For MoveIt 2 development, see [moveit2](https://github.com/ros-planning/moveit2).
- To facilitate compile-time switching, the patch version of `MOVEIT_VERSION` of a development branch will be incremented by 1 w.r.t. the package.xml's version number.

## MoveIt Status

Expand Down
6 changes: 5 additions & 1 deletion moveit.rosinstall
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
local-name: geometric_shapes
uri: https://github.com/ros-planning/geometric_shapes.git
version: noetic-devel
- git:
local-name: srdfdom
uri: https://github.com/ros-planning/srdfdom
version: noetic-devel
- git:
local-name: moveit
uri: https://github.com/ros-planning/moveit.git
Expand All @@ -31,4 +35,4 @@
- git:
local-name: panda_moveit_config
uri: https://github.com/ros-planning/panda_moveit_config.git
version: melodic-devel
version: noetic-devel
Loading

0 comments on commit a9a8ecf

Please sign in to comment.