-
Notifications
You must be signed in to change notification settings - Fork 97
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
Conversation
Some of the dependencies were missing version constraints, and jenkinsapi was missing completely.
@@ -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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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.