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

Implement the rest of the package_ignore_list #862

Merged
merged 1 commit into from
Mar 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ros_buildfarm/config/release_build_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,5 @@ def filter_packages(self, package_names):
if self.package_whitelist:
res &= set(self.package_whitelist)
res -= set(self.package_blacklist)
res -= set(self.package_ignore_list)
return res
14 changes: 13 additions & 1 deletion ros_buildfarm/release_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,10 @@ def configure_release_jobs(
pkg_names = dist_file.release_packages.keys()
cached_pkgs = _get_and_parse_distribution_cache(index, rosdistro_name, pkg_names)
filtered_pkg_names = build_file.filter_packages(pkg_names)
explicitly_ignored_pkg_names = set(pkg_names) - set(filtered_pkg_names)
explicitly_ignored_without_recursion_pkg_names = \
set(pkg_names) & set(build_file.package_ignore_list)
explicitly_ignored_pkg_names = \
set(pkg_names) - set(filtered_pkg_names) - explicitly_ignored_without_recursion_pkg_names
if explicitly_ignored_pkg_names:
print(('The following packages are being %s because of ' +
'white-/blacklisting:') %
Expand All @@ -106,6 +109,14 @@ def configure_release_jobs(
filtered_pkg_names = \
set(filtered_pkg_names) - implicitly_ignored_pkg_names

if explicitly_ignored_without_recursion_pkg_names:
print(('The following packages are being %s because of ' +
'ignore-listing:') %
('ignored' if build_file.skip_ignored_packages else 'disabled'))
for pkg_name in sorted(explicitly_ignored_without_recursion_pkg_names):
print(' -', pkg_name)
filtered_pkg_names.difference_update(explicitly_ignored_without_recursion_pkg_names)

# all further configuration will be handled by either the Jenkins API
# or by a generated groovy script
jenkins = False
Expand Down Expand Up @@ -499,6 +510,7 @@ def configure_release_job(
print(("Skipping binary jobs for package '%s' because it is not " +
"yet in the rosdistro cache") % pkg_name, file=sys.stderr)
return source_job_names, binary_job_names, job_configs
dependency_names.difference_update(build_file.package_ignore_list)

# binarydeb jobs
for arch in build_file.targets[os_name][os_code_name]:
Expand Down
6 changes: 5 additions & 1 deletion ros_buildfarm/status_page_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,16 @@ def get_rosdistro_info(dist, build_file):
cached_pkgs = get_package_manifests(dist)

filtered_pkg_names = build_file.filter_packages(pkg_names)
explicitly_ignored_pkg_names = set(pkg_names) - set(filtered_pkg_names)
explicitly_ignored_without_recursion_pkg_names = \
set(pkg_names) & set(build_file.package_ignore_list)
explicitly_ignored_pkg_names = \
set(pkg_names) - set(filtered_pkg_names) - explicitly_ignored_without_recursion_pkg_names
if explicitly_ignored_pkg_names:
implicitly_ignored_pkg_names = get_implicitly_ignored_package_names(
cached_pkgs, explicitly_ignored_pkg_names)
filtered_pkg_names = \
set(filtered_pkg_names) - implicitly_ignored_pkg_names
filtered_pkg_names = set(filtered_pkg_names) - explicitly_ignored_without_recursion_pkg_names

packages = {}
for pkg_name in pkg_names:
Expand Down