Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align stdeb dependencies with setup.py #1073

Merged
merged 2 commits into from
Nov 12, 2024
Merged

Conversation

cottsay
Copy link
Member

@cottsay cottsay commented Oct 18, 2024

Some of the dependencies were missing version constraints, and jenkinsapi was missing completely.

The Python 2 dependency list will be removed by #1067 so I'm not updating it here.

Some of the dependencies were missing version constraints, and
jenkinsapi was missing completely.
@cottsay cottsay added the bug label Oct 18, 2024
@cottsay cottsay self-assigned this Oct 18, 2024
@@ -17,7 +17,7 @@ Setup-Env-Vars: SKIP_PYTHON_MODULES=1

[ros_buildfarm_modules]
Depends: python-catkin-pkg-modules, python-configparser, python-empy, python-rosdistro-modules (>= 1.0.0), python-yaml, python3-empy, python3-vcstool (>= 0.1.37)
Depends3: python3-catkin-pkg-modules, python3-empy, python3-rosdistro-modules (>= 1.0.0), python3-vcstool (>= 0.1.37), python3-yaml
Depends3: python3-catkin-pkg-modules (>= 0.2.6), python3-empy (< 4), python3-jenkinsapi, python3-rosdistro-modules (>= 1.0.0), python3-vcstool (>= 0.1.37), python3-yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not objecting to the change here. I believe the omission of jenkinsapi was intentional to allow installation without jenkins support. To continue that it might make dense to make it an optional dependency via Recommends or Suggests but I'm not opposed to making it a hard dependency. Requests, BeautifulSoup, and lxml are fairly large dependencies but as I'm leaning towards dropping the jenkinsapi dependency in favor of more direct REST API usage within ros_buildfarm I think of those as temporary. They're also already necessary if you're using the Jenkins support.

Copy link
Member Author

Choose a reason for hiding this comment

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

As great as that sounds, I don't think it is working in practice:

$ python3 -m ros_buildfarm.scripts.release.generate_release_script https://raw.githubusercontent.com/ros2/ros_buildfarm_config/refs/heads/ros2/index.yaml rolling default ament_package ubuntu noble amd64 > job.sh
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "~/infra_ws/install/ros_buildfarm/lib/python3.12/site-packages/ros_buildfarm/scripts/release/generate_release_script.py", line 31, in <module>
    from ros_buildfarm.release_job import configure_release_job
  File "~/infra_ws/install/ros_buildfarm/lib/python3.12/site-packages/ros_buildfarm/release_job.py", line 45, in <module>
    from ros_buildfarm.jenkins import JenkinsProxy
  File "~/infra_ws/install/ros_buildfarm/lib/python3.12/site-packages/ros_buildfarm/jenkins.py", line 22, in <module>
    from jenkinsapi.jenkins import Jenkins
ModuleNotFoundError: No module named 'jenkinsapi'

I'm not sure how easy it would be to reorganize the modules in ros_buildfarm to support this scenario, but it's probably a lot more work than I'm willing to bite off right now.

Note that we're not currently using the ros_buildfarm in deb form anywhere, so there's really no opportunity for regression here.

@cottsay cottsay merged commit d21cded into master Nov 12, 2024
24 checks passed
@cottsay cottsay deleted the cottsay/stdeb-dependencies branch November 12, 2024 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants