Skip to content

Commit 42709af

Browse files
Read snapshots info in read_vinca_yaml and use snapshot info in Distro instance used in generate_azure and generate_gha (#89)
* Read snapshots info in read_vinca_yaml * Remove spurious print * Typo --------- Co-authored-by: Tobias Fischer <info@tobiasfischer.info>
1 parent 3c47352 commit 42709af

File tree

4 files changed

+20
-12
lines changed

4 files changed

+20
-12
lines changed

vinca/generate_azure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ def get_full_tree():
413413
config.selected_platform = get_conda_subdir()
414414

415415
python_version = temp_vinca_conf.get("python_version", None)
416-
distro = Distro(temp_vinca_conf["ros_distro"], python_version)
416+
distro = Distro(temp_vinca_conf["ros_distro"], python_version, temp_vinca_conf["_snapshot"], temp_vinca_conf["_additional_packages_snapshot"])
417417

418418
all_packages = get_selected_packages(distro, temp_vinca_conf)
419419
temp_vinca_conf["_selected_pkgs"] = all_packages

vinca/generate_gha.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ def get_full_tree():
428428
config.selected_platform = get_conda_subdir()
429429

430430
python_version = temp_vinca_conf.get("python_version", None)
431-
distro = Distro(temp_vinca_conf["ros_distro"], python_version)
431+
distro = Distro(temp_vinca_conf["ros_distro"], python_version, temp_vinca_conf["_snapshot"], temp_vinca_conf["_additional_packages_snapshot"])
432432

433433
all_packages = get_selected_packages(distro, temp_vinca_conf)
434434
temp_vinca_conf["_selected_pkgs"] = all_packages

vinca/main.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,14 @@ def read_vinca_yaml(filepath):
217217
else:
218218
vinca_conf["_pkg_additional_info"] = {}
219219

220+
# snapshot contains both rosdistro_snapshot.yaml and
221+
# rosdistro_additional_recipes.yaml
222+
snapshot, additional_packages_snapshot = read_snapshot(vinca_conf)
223+
224+
# Store additional_packages_snapshot in vinca_conf for template access
225+
vinca_conf["_snapshot"] = snapshot or {}
226+
vinca_conf["_additional_packages_snapshot"] = additional_packages_snapshot or {}
227+
220228
return vinca_conf
221229

222230

@@ -760,6 +768,10 @@ def get_selected_packages(distro, vinca_conf):
760768

761769
if vinca_conf.get("build_all", False):
762770
selected_packages = set(distro._distro.release_packages.keys())
771+
# Add packages from rosdistro_additional_recipes.yaml when build_all is True
772+
if "_additional_packages_snapshot" in vinca_conf and vinca_conf["_additional_packages_snapshot"]:
773+
additional_packages = set(vinca_conf["_additional_packages_snapshot"].keys())
774+
selected_packages = selected_packages.union(additional_packages)
763775
elif vinca_conf["packages_select_by_deps"]:
764776

765777
if (
@@ -1078,14 +1090,8 @@ def main():
10781090
base_dir = os.path.abspath(arguments.dir)
10791091
vinca_yaml = os.path.join(base_dir, "vinca.yaml")
10801092
vinca_conf = read_vinca_yaml(vinca_yaml)
1081-
1082-
# snapshot contains both rosdistro_snapshot.yaml and
1083-
# rosdistro_additional_recipes.yaml
1084-
1085-
snapshot, additional_packages_snapshot = read_snapshot(vinca_conf)
1086-
1087-
# Store additional_packages_snapshot in vinca_conf for template access
1088-
vinca_conf["_additional_packages_snapshot"] = additional_packages_snapshot or {}
1093+
snapshot = vinca_conf.get("snapshot", None)
1094+
additional_packages_snapshot = vinca_conf.get("_additional_packages_snapshot", None)
10891095

10901096
if arguments.trigger_new_versions:
10911097
vinca_conf["trigger_new_versions"] = True
@@ -1099,7 +1105,7 @@ def main():
10991105
if "python_version" in vinca_conf:
11001106
python_version = vinca_conf["python_version"]
11011107

1102-
distro = Distro(vinca_conf["ros_distro"], python_version, snapshot, additional_packages_snapshot)
1108+
distro = Distro(vinca_conf["ros_distro"], python_version, vinca_conf["_snapshot"], vinca_conf["_additional_packages_snapshot"])
11031109
additional_pkgs, parsed_pkgs = [], []
11041110
for f in pkg_files:
11051111
parsed_pkg = catkin_pkg.package.parse_package(f)
@@ -1201,7 +1207,7 @@ def main():
12011207
if "python_version" in vinca_conf:
12021208
python_version = vinca_conf["python_version"]
12031209

1204-
distro = Distro(vinca_conf["ros_distro"], python_version, snapshot, additional_packages_snapshot)
1210+
distro = Distro(vinca_conf["ros_distro"], python_version, vinca_conf["_snapshot"], vinca_conf["_additional_packages_snapshot"])
12051211

12061212
selected_pkgs = get_selected_packages(distro, vinca_conf)
12071213

vinca/snapshot.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ def main():
4848
# Get the current UTC time
4949
utc_time = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
5050

51+
# Note: we intentionally do not pass any kind of additional packages snapshot
52+
# here, as it would pollute the snapshot with additional packages
5153
distro = Distro(args.distro)
5254

5355
if args.package is None:

0 commit comments

Comments
 (0)