Skip to content

Commit

Permalink
Merge branch 'origin/master' into jacobian-derivative
Browse files Browse the repository at this point in the history
  • Loading branch information
rhaschke committed Jan 9, 2025
2 parents d138812 + da4131d commit f1c0110
Show file tree
Hide file tree
Showing 275 changed files with 5,018 additions and 2,004 deletions.
12 changes: 7 additions & 5 deletions .docker/ci-testing/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@

ARG IMAGE=noetic
FROM moveit/moveit:${IMAGE}-ci
MAINTAINER Robert Haschke [email protected]
LABEL org.opencontainers.image.authors="Robert Haschke <[email protected]>"

# 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 && \
RUN apt-get update && \
apt-get install curl && \
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] 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
apt-get update && \
apt-get -qq -y dist-upgrade && \
#
# Clear apt-cache to reduce image size
Expand Down
12 changes: 6 additions & 6 deletions .docker/ci/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

ARG ROS_DISTRO=noetic
FROM ros:${ROS_DISTRO}-ros-base
MAINTAINER Dave Coleman [email protected]
LABEL org.opencontainers.image.authors="Robert Haschke <[email protected]>"

ENV TERM xterm
ENV TERM=xterm

# Setup (temporary) ROS workspace
WORKDIR /root/ws_moveit
Expand All @@ -26,15 +26,15 @@ RUN \
wget git sudo \
# Preferred build tools
python$(test "${ROS_DISTRO}" = "noetic" && echo 3)-catkin-tools \
clang clang-format-10 clang-tidy clang-tools \
clang clang-format-12 clang-tidy clang-tools \
ccache && \
#
# 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 master https://github.com/ros-planning/moveit_resources src/moveit_resources && \
git clone --depth 1 --branch master https://github.com/moveit/moveit_resources src/moveit_resources && \
#
# Download all dependencies of MoveIt
rosdep update && \
rosdep update $(test "${ROS_DISTRO}" = "melodic" && echo "--include-eol-distros") && \
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
Expand All @@ -47,4 +47,4 @@ RUN \
git config --global --add safe.directory "*"

# Continous Integration Setting
ENV IN_DOCKER 1
ENV IN_DOCKER=1
4 changes: 2 additions & 2 deletions .docker/experimental/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ RUN git clone -b 26compat https://github.com/mongodb/mongo-cxx-driver.git && \
rm -rf /var/lib/apt/lists/*

# Download warehouse source
RUN wstool set -yu warehouse_ros_mongo --git https://github.com/ros-planning/warehouse_ros_mongo.git -v jade-devel && \
wstool set -yu warehouse_ros --git https://github.com/ros-planning/warehouse_ros.git -v jade-devel
RUN wstool set -yu warehouse_ros_mongo --git https://github.com/moveit/warehouse_ros_mongo.git -v jade-devel && \
wstool set -yu warehouse_ros --git https://github.com/moveit/warehouse_ros.git -v jade-devel

# build the workspace
RUN catkin build --limit-status-rate 0.001 --no-notify
2 changes: 1 addition & 1 deletion .docker/release/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

ARG ROS_DISTRO=noetic
FROM ros:${ROS_DISTRO}-ros-base
MAINTAINER Dave Coleman [email protected]
LABEL org.opencontainers.image.authors="Robert Haschke <[email protected]>"

# Commands are combined in single RUN statement with "apt/lists" folder removal to reduce image size
RUN apt-get update -q && \
Expand Down
12 changes: 6 additions & 6 deletions .docker/source/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@

ARG IMAGE=noetic
FROM moveit/moveit:${IMAGE}-ci-testing
MAINTAINER Robert Haschke [email protected]
LABEL org.opencontainers.image.authors="Robert Haschke <[email protected]>"

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

# Copy MoveIt sources from docker context
COPY . src/moveit
Expand All @@ -24,7 +24,7 @@ RUN --mount=type=cache,target=/root/.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 master https://github.com/ros-planning/moveit_resources src/moveit_resources && \
git clone --depth 1 --branch master https://github.com/moveit/moveit_resources src/moveit_resources && \
#
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,
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ assignees: ''
Overview of your issue here.

### Your environment
* ROS Distro: [Kinetic|Melodic|Noetic]
* OS Version: e.g. Ubuntu 18.04
* ROS Distro: [Noetic|One]
* OS Version: e.g. Ubuntu 20.04
* Source or Binary build?
* If binary, which release version?
* If source, which branch?
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/first_timer_only.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ We're interested in helping you take the first step, and can answer questions an

We know that creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

If you have contributed before, **consider leaving this PR for someone new**, and looking through our general [bug](https://github.com/ros-planning/moveit/labels/bug) issues. Thanks!
If you have contributed before, **consider leaving this PR for someone new**, and looking through our general [bug](https://github.com/moveit/moveit/labels/bug) issues. Thanks!

### 🤔 What you will need to know.

Expand All @@ -38,7 +38,7 @@ Nothing. This issue is meant to welcome you to Open Source :) We are happy to wa
$DIFF
```

- [ ] 🤖 **Apply `clang-format-10`** auto formatting, [following these instructions](https://moveit.ros.org//documentation/contributing/code/?#clang-format-auto-code-formatting)
- [ ] 🤖 **Apply `clang-format-12`** auto formatting, [following these instructions](https://moveit.ros.org//documentation/contributing/code/?#clang-format-auto-code-formatting)

- [ ] 💾 **Commit and Push** your changes

Expand All @@ -62,7 +62,7 @@ Don’t hesitate to ask questions or to get help if you feel like you are gettin

Furthermore, you find helpful resources here:
* [MoveIt FAQ](https://moveit.ros.org/documentation/faqs/)
* [MoveIt Tutorials](https://ros-planning.github.io/moveit_tutorials/)
* [MoveIt Tutorials](https://moveit.github.io/moveit_tutorials/)
* [MoveIt contribution guide](https://moveit.ros.org/documentation/contributing/)
* [ROS Tutorials](https://wiki.ros.org/ROS/Tutorials)
* [ROS Answers](https://answers.ros.org/questions/)
Expand Down
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Please explain the changes you made, including a reference to the related issue
### Checklist
- [ ] **Required by CI**: Code is auto formatted using [clang-format](http://moveit.ros.org/documentation/contributing/code)
- [ ] Extend the tutorials / documentation [reference](http://moveit.ros.org/documentation/contributing/)
- [ ] Document API changes relevant to the user in the [MIGRATION.md](https://github.com/ros-planning/moveit/blob/master/MIGRATION.md) notes
- [ ] Create tests, which fail without this PR [reference](https://ros-planning.github.io/moveit_tutorials/doc/tests/tests_tutorial.html)
- [ ] Document API changes relevant to the user in the [MIGRATION.md](https://github.com/moveit/moveit/blob/master/MIGRATION.md) notes
- [ ] Create tests, which fail without this PR [reference](https://moveit.github.io/moveit_tutorials/doc/tests/tests_tutorial.html)
- [ ] Include a screenshot if changing a GUI
- [ ] While waiting for someone to review your request, please help review [another open pull request](https://github.com/ros-planning/moveit/pulls) to support the maintainers
- [ ] While waiting for someone to review your request, please help review [another open pull request](https://github.com/moveit/moveit/pulls) to support the maintainers

[//]: # "You can expect a response from a maintainer within 7 days. If you haven't heard anything by then, feel free to ping the thread. Thank you!"
51 changes: 31 additions & 20 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,18 @@ jobs:
IKFAST_TEST: true
CATKIN_LINT: true
CLANG_TIDY: pedantic
- IMAGE: master-ci # ROS Melodic with all dependencies required for master
CATKIN_LINT: true
- IMAGE: jammy-ci
- IMAGE: noble-ci
NAME: " Qt6"
UPSTREAM_WORKSPACE: github:ros-visualization/rviz#noetic-devel
UPSTREAM_CMAKE_ARGS: -DRVIZ_QT_VERSIONS=6
env:
CXXFLAGS: -Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls
CLANG_TIDY_ARGS: --fix --fix-errors --format-style=file
CLANG_TIDY_ARGS: -quiet -export-fixes ${{ github.workspace }}/.work/clang-tidy-fixes.yaml

DOCKER_IMAGE: moveit/moveit:${{ matrix.env.IMAGE }}
UPSTREAM_WORKSPACE: .github/workflows/upstream.rosinstall
TARGET_WORKSPACE: $TARGET_REPO_PATH github:ros-planning/moveit_resources#master
UPSTREAM_WORKSPACE: .github/workflows/upstream.rosinstall ${{ matrix.env.UPSTREAM_WORKSPACE }}
TARGET_WORKSPACE: $TARGET_REPO_PATH github:moveit/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
Expand All @@ -49,8 +53,8 @@ jobs:
# Compile CCOV with Debug. Enable -Werror.
TARGET_CMAKE_ARGS: >
-DCMAKE_BUILD_TYPE=${{ matrix.env.CCOV && 'Debug' || 'Release'}}
-DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS${{ matrix.env.CCOV && ' --coverage -O2 -fno-omit-frame-pointer'}}"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_CXX_FLAGS=''"
-DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS ${{ matrix.env.TARGET_CXXFLAGS }} ${{ matrix.env.CCOV && '--coverage -O2 -fno-omit-frame-pointer'}}"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_CXX_FLAGS='' ${{ matrix.env.UPSTREAM_CMAKE_ARGS }}"
DOWNSTREAM_CMAKE_ARGS: -DCMAKE_CXX_FLAGS="-Wall -Wextra"
CCACHE_DIR: ${{ github.workspace }}/.ccache
BASEDIR: ${{ github.workspace }}/.work
Expand All @@ -63,8 +67,12 @@ jobs:
BUILDER: ${{ matrix.env.BUILDER || 'catkin_tools' }}
CC: ${{ matrix.env.CLANG_TIDY && 'clang' }}
CXX: ${{ matrix.env.CLANG_TIDY && 'clang++' }}
# forward matrix.env
CATKIN_LINT: ${{ matrix.env.CATKIN_LINT }}
CLANG_TIDY: ${{ matrix.env.CLANG_TIDY }}


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)') || '' }}"
name: "${{ matrix.env.IMAGE }}${{ matrix.env.NAME }}${{ 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-20.04
steps:
- name: "Free up disk space"
Expand All @@ -81,7 +89,7 @@ jobs:
# free up a lot of stuff from /usr/local
sudo rm -rf /usr/local
df -h
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Cache upstream workspace
uses: rhaschke/cache@main
with:
Expand Down Expand Up @@ -127,13 +135,14 @@ jobs:
- name: Generate ikfast packages
if: matrix.env.IKFAST_TEST
run: moveit_kinematics/test/test_ikfast_plugins.sh
env:
ROS_DISTRO: noetic
- id: ici
name: Run industrial_ci
uses: ros-industrial/industrial_ci@master
env: ${{ matrix.env }}
uses: rhaschke/industrial_ci@master

- name: Upload test artifacts (on failure)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure() && (steps.ici.outputs.run_target_test || steps.ici.outputs.target_test_results)
with:
name: test-results-${{ matrix.env.IMAGE }}
Expand All @@ -146,16 +155,18 @@ jobs:
workdir: ${{ env.BASEDIR }}/target_ws
ignore: '"*/target_ws/build/*" "*/target_ws/install/*" "*/test/*"'
- name: Upload codecov report
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
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

- name: Upload clang-tidy fixes (on failure)
uses: actions/upload-artifact@v4
if: failure() && steps.ici.outputs.clang_tidy_checks
with:
name: clang-tidy
path: ${{ env.BASEDIR }}/target_ws/src/$(basename $(pwd))
name: clang-tidy-fixes.yaml
path: ${{ env.BASEDIR }}/clang-tidy-fixes.yaml

- name: Prepare target_ws for cache
if: always() && !matrix.env.CCOV
run: |
Expand All @@ -168,11 +179,11 @@ jobs:
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'
if: github.event_name == 'push' && github.repository_owner == 'moveit' && github.ref == 'refs/heads/master'
permissions:
contents: write # allow pushing
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Fast-forward noetic-devel to sync with master
run: |
# Configure push user+url
Expand Down
Loading

0 comments on commit f1c0110

Please sign in to comment.