Skip to content

Do not install python3-pytest-asyncio on humble - #885

Open
Ryan4253 wants to merge 1 commit into
ros2:masterfrom
Ryan4253:fix/no-pytest-asyncio-on-humble
Open

Do not install python3-pytest-asyncio on humble#885
Ryan4253 wants to merge 1 commit into
ros2:masterfrom
Ryan4253:fix/no-pytest-asyncio-on-humble

Conversation

@Ryan4253

@Ryan4253 Ryan4253 commented Jul 9, 2026

Copy link
Copy Markdown

Description

As title. Fixes #884

Is this user-facing behavior change?

Yes, CI stops breaking in rclpy

Did you use Generative AI?

No

Additional Information

Docker-RHEL is not modified since python3-pytest-asyncio is already gated by RHEL>9 and Humble uses RHEL8

@mergify

mergify Bot commented Jul 9, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@Ryan4253

Ryan4253 commented Jul 9, 2026

Copy link
Copy Markdown
Author

@Mergifyio queue

@mergify

mergify Bot commented Jul 9, 2026

Copy link
Copy Markdown

queue

☑️ Command disallowed due to command restrictions in the Mergify configuration.

Details
  • sender-permission >= write

@fujitatomoya fujitatomoya left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks reasonable for me.

@christophebedard @cottsay can you take a look?

Comment thread linux_docker_resources/Dockerfile
@Ryan4253
Ryan4253 requested a review from FarbodDaneshjoo July 13, 2026 15:32
@Ryan4253
Ryan4253 force-pushed the fix/no-pytest-asyncio-on-humble branch from ad9f187 to 4fdec4a Compare July 13, 2026 15:41
@Ryan4253

Copy link
Copy Markdown
Author

@clalancette @cottsay bump

@cottsay

cottsay commented Jul 22, 2026

Copy link
Copy Markdown
Member

I don't think we can take this because of ros2/ros2_documentation#6524, right?

EDIT: Hmm, I'd guess the actual change wasn't backported. Was the documentation backport a mistake then?

@fujitatomoya

Copy link
Copy Markdown

@cottsay

the documentation backport is standard practice (release notes go to every distro branch), rclpy#1620 was never backported to Humble, and therefore dropping pytest-asyncio from the Humble image is safe?

@Ryan4253

Ryan4253 commented Jul 23, 2026

Copy link
Copy Markdown
Author

@cottsay I checked again and there's no use of pytest-asyncio in humble:

ryanl@ryanl:~/Desktop/rclpy$ git branch
* humble
  rolling
ryanl@ryanl:~/Desktop/rclpy$ grep -r "asyncio" .
./rclpy/test/test_executor.py:import asyncio
./rclpy/test/test_executor.py:            await asyncio.sleep(0)
./rclpy/test/test_executor.py:            await asyncio.sleep(0)
./rclpy/test/test_executor.py:            await asyncio.sleep(0)

As a comparison,

ryanl@ryan:~/Desktop/rclpy$ git branch
  humble
* rolling
ryanl@ryanl:~/Desktop/rclpy$ grep -r "pytest.mark.asyncio" .
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_timer.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_client.py:@pytest.mark.asyncio
./rclpy/test/test_async_subscription.py:@pytest.mark.asyncio
./rclpy/test/test_async_subscription.py:@pytest.mark.asyncio
./rclpy/test/test_async_subscription.py:@pytest.mark.asyncio
./rclpy/test/test_async_subscription.py:@pytest.mark.asyncio
./rclpy/test/test_async_subscription.py:@pytest.mark.asyncio
./rclpy/test/test_async_publisher.py:@pytest.mark.asyncio
./rclpy/test/test_async_publisher.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_node.py:@pytest.mark.asyncio
./rclpy/test/test_async_service.py:@pytest.mark.asyncio
./rclpy/test/test_async_service.py:@pytest.mark.asyncio
./rclpy/test/test_async_service.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio
./rclpy/test/test_async_clock.py:@pytest.mark.asyncio

I don't see any other use of pytest-asyncio in the ros2 organization otherwise from a quick github search. So as @fujitatomoya said it should be safe

@cottsay

cottsay commented Jul 23, 2026

Copy link
Copy Markdown
Member
  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde

ahcorde commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

--packages-skip image_tools intra_process_demo

  • Windows Build Status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

python3-pytest-asyncio breaks all rclpy pytest tests on Humble CI

5 participants