ros-tooling/setup-ros

Action fails for Ubuntu 16.04 / Kinetic

jpreiss opened this issue · 2 comments

Description

A minimal invocation of the action fails on Ubuntu 16.04 / Kinetic with a Python syntax error. It succeeds on newer versions of Ubuntu and ROS. In the past, version 0.1 worked for this configuration. Now neither 0.1 nor 0.1.1 work.

Expected Behavior

The action should install ROS.
Here is a full log from a non-minimal project that worked in the past using version 0.1:
https://github.com/USC-ACTLab/crazyswarm/runs/1474716845

Actual Behavior

In a minimal example, we get the error log:
https://github.com/uscresl/gh-actions-ros-test/runs/1775400275
The last error message is:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip._internal.cli.main import main
  File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                 ^
SyntaxError: invalid syntax

We also a different python syntax error in new CI runs of Crazyswarm non-minimal example that worked before (see "Expected Behavior"):
https://github.com/USC-ACTLab/crazyswarm/runs/1775473914
The different error could be because of different dependencies, or because I disabled ROS_PARALLEL_JOBS to make the minimal example more deterministic.

I both cases, I believe the action is trying to execute some Python 3 code with a Python 2 interpreter.

To Reproduce

create a Github Action containing:

name: Test ROS CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-16.04
    steps:
    - name: Checkout
      uses: actions/checkout@v2      
    - name: Install ROS
      uses: ros-tooling/setup-ros@0.1.1
      with:
        required-ros-distributions: kinetic

System (please complete the following information)

  • OS: Ubuntu 16.04
  • ROS Distro: Kinetic

Thanks for the report! This was an ugly problem that happened with the pip v21 release a few days ago, more context and the fix here #337

I've just cut a new release 0.1.2 right now - if you're tracking the v0.1 tag you'll get the fix automatically, otherwise you'll want to increment your version.

Please feel to reopen if this doesn't solve your issue

The updated release fixes the problem. Thank you for the fast response and for maintaining this package!