Skip to content
Draft
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
60226c8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 8, 2023
7aa896b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 9, 2023
1cba3d5
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 15, 2023
8847a23
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 22, 2023
1036e0a
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 29, 2023
f3fee75
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 5, 2023
39e4642
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 12, 2023
f767c50
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 19, 2023
3679c36
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 26, 2023
db2e2fd
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 3, 2023
d082154
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 10, 2023
9eb1b54
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 17, 2023
5151234
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 24, 2023
5574615
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 31, 2023
dae49bc
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 7, 2024
5b5a177
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 14, 2024
13b4334
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 21, 2024
31c0ca9
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 28, 2024
0ecd63d
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 4, 2024
7c27ced
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 11, 2024
d994ac5
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 18, 2024
501dec2
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 25, 2024
b80e10a
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 3, 2024
b8ff22c
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 10, 2024
beeda55
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 17, 2024
7385a16
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 24, 2024
df5fe09
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 31, 2024
61a59c4
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 7, 2024
68e4239
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 14, 2024
de8759c
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 21, 2024
c5f240a
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 28, 2024
fc793cb
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 5, 2024
56286b7
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 12, 2024
7acfa4e
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 19, 2024
1531eb8
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 26, 2024
14a9150
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 2, 2024
d83deb8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 9, 2024
e22cfb5
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 16, 2024
6f2440d
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 23, 2024
b42ae82
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 30, 2024
26dc4e3
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 7, 2024
72032a1
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 14, 2024
7f87351
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 21, 2024
82a7194
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 28, 2024
2f7141e
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 4, 2024
bed97d1
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 11, 2024
0e34217
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 18, 2024
1b7f5a1
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 25, 2024
6bbdf43
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 1, 2024
734ff28
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 8, 2024
06e79d2
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 15, 2024
035f4b2
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 22, 2024
b9fff03
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 29, 2024
6b0dce8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 6, 2024
d2371e7
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 13, 2024
6846753
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 20, 2024
07fcf85
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 27, 2024
142d837
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 3, 2024
789bbbc
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 10, 2024
3b10fb9
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 17, 2024
38e06db
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 24, 2024
5197a61
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 1, 2024
69b1ddc
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 8, 2024
68f39f8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 15, 2024
c009b0e
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 22, 2024
2481fe1
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 29, 2024
522f3de
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 5, 2025
71523d5
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 12, 2025
d356c72
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 19, 2025
ee4fc28
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 26, 2025
7396947
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 2, 2025
8f2725b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 9, 2025
fd544fa
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 16, 2025
9248612
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 23, 2025
f52804f
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 2, 2025
05c95b5
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 9, 2025
25a5802
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 16, 2025
2f64635
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 23, 2025
f59316b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 30, 2025
2c908ad
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 6, 2025
cb04384
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 13, 2025
0e33dd7
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 20, 2025
3bab9d1
ci: This PR is to trigger periodic CI testing
github-actions[bot] Apr 27, 2025
9d6afcc
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 4, 2025
6c35194
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 11, 2025
a04b150
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 18, 2025
132f9c7
ci: This PR is to trigger periodic CI testing
github-actions[bot] May 25, 2025
02e8cd8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 1, 2025
46368a9
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 8, 2025
0939ef0
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 15, 2025
e5c0a9b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 22, 2025
84a3144
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jun 29, 2025
a2e44a7
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 6, 2025
d118dde
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 13, 2025
e320034
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 20, 2025
2f4f7d2
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jul 27, 2025
7f5ee30
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 3, 2025
c77df05
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 10, 2025
1036f20
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 17, 2025
38d0536
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 24, 2025
63c5195
ci: This PR is to trigger periodic CI testing
github-actions[bot] Aug 31, 2025
6e2bc07
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 7, 2025
21919eb
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 14, 2025
4b8c24e
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 21, 2025
d88592b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Sep 28, 2025
5c9fb46
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 5, 2025
d187632
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 12, 2025
ace293b
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 19, 2025
298dbb3
ci: This PR is to trigger periodic CI testing
github-actions[bot] Oct 26, 2025
2a5b8ea
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 2, 2025
2e0a078
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 9, 2025
a8302fe
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 16, 2025
2e78bdd
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 23, 2025
43560f8
ci: This PR is to trigger periodic CI testing
github-actions[bot] Nov 30, 2025
4c1d718
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 7, 2025
d7a8e4e
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 14, 2025
b6b48ae
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 21, 2025
4bec6b0
ci: This PR is to trigger periodic CI testing
github-actions[bot] Dec 28, 2025
d66d666
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 4, 2026
ee08582
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 11, 2026
844a706
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 18, 2026
8a0c630
ci: This PR is to trigger periodic CI testing
github-actions[bot] Jan 25, 2026
0fd8536
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 1, 2026
9a738f3
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 8, 2026
a60cf03
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 15, 2026
fcfd58a
ci: This PR is to trigger periodic CI testing
github-actions[bot] Feb 22, 2026
8271d78
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 1, 2026
907aa13
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 8, 2026
1714d1a
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 15, 2026
47e3088
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 22, 2026
8fb0f83
ci: This PR is to trigger periodic CI testing
github-actions[bot] Mar 29, 2026
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
64 changes: 64 additions & 0 deletions tests/callback_plugins/dump_packages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2023, Red Hat, Inc.
# SPDX-License-Identifier: MIT

from __future__ import absolute_import, division, print_function

__metaclass__ = type

DOCUMENTATION = """
author: Rich Megginson
name: dump_packages
type: aggregate
short_description: dump arguments to package module
description:
- Dump arguments to package module to get list of packages.
- Used in conjunction with CI testing to get the packages used
- with all combinations of: distribution/version/role arguments
- Used to generate lists of packages for ostree image builds.
requirements:
- None
"""

from ansible.plugins.callback import CallbackBase # noqa: E402


class CallbackModule(CallbackBase):
"""
Dump packages.
"""

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = "aggregate"
CALLBACK_NAME = "dump_packages"
# needed for 2.9 compatibility
CALLBACK_NEEDS_WHITELIST = False # wokeignore:rule=whitelist
CALLBACK_NEEDS_ENABLED = False

def __init__(self, *args, **kwargs):
super(CallbackModule, self).__init__(*args, **kwargs)

def v2_runner_on_ok(self, result):
fields = result._task_fields
if (
fields["action"] in ["package", "dnf", "yum"]
and fields["args"].get("state") != "absent"
):
packages = set()
if "invocation" in result._result:
results = [result._result]
elif "results" in result._result and isinstance(
result._result["results"], list
):
results = result._result["results"]
for item in results:

Check failure

Code scanning / CodeQL

Potentially uninitialized local variable

Local variable 'results' may be used before it is initialized.

Copilot Autofix

AI 3 months ago

In general, to fix a “potentially uninitialized local variable” problem, either (1) initialize the variable to a safe default before any conditional assignments or (2) ensure all control-flow paths that reach its use have definitely assigned it (for example, by adding else cases or early returns).

Here, the safest change without altering existing behavior is:

  • Initialize results to an empty list before the if/elif chain.
  • After the chain, only iterate over results if it is non-empty; otherwise, simply skip the loop so no UnboundLocalError can occur.
    This preserves current behavior when results is defined as before, while making the code no-op (rather than crash) in the rare case that neither condition is met.

Concretely in tests/callback_plugins/dump_packages.py:

  • In CallbackModule.v2_runner_on_ok, add results = [] right after packages = set().
  • Wrap the for item in results: loop and subsequent package processing in an if results: guard so it only executes when results has been set to something meaningful.

No new imports or helper methods are required.

Suggested changeset 1
tests/callback_plugins/dump_packages.py

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/tests/callback_plugins/dump_packages.py b/tests/callback_plugins/dump_packages.py
--- a/tests/callback_plugins/dump_packages.py
+++ b/tests/callback_plugins/dump_packages.py
@@ -45,20 +45,22 @@
             and fields["args"].get("state") != "absent"
         ):
             packages = set()
+            results = []
             if "invocation" in result._result:
                 results = [result._result]
             elif "results" in result._result and isinstance(
                 result._result["results"], list
             ):
                 results = result._result["results"]
-            for item in results:
-                pkgs = item["invocation"]["module_args"]["name"]
-                if isinstance(pkgs, list):
-                    for ii in pkgs:
-                        packages.add(ii)
-                else:
-                    packages.add(pkgs)
-            # tell python black that this line is ok
-            # fmt: off
-            self._display.display("lsrpackages: " + " ".join(sorted(list(packages))))
-            # fmt: on
+            if results:
+                for item in results:
+                    pkgs = item["invocation"]["module_args"]["name"]
+                    if isinstance(pkgs, list):
+                        for ii in pkgs:
+                            packages.add(ii)
+                    else:
+                        packages.add(pkgs)
+                # tell python black that this line is ok
+                # fmt: off
+                self._display.display("lsrpackages: " + " ".join(sorted(list(packages))))
+                # fmt: on
EOF
@@ -45,20 +45,22 @@
and fields["args"].get("state") != "absent"
):
packages = set()
results = []
if "invocation" in result._result:
results = [result._result]
elif "results" in result._result and isinstance(
result._result["results"], list
):
results = result._result["results"]
for item in results:
pkgs = item["invocation"]["module_args"]["name"]
if isinstance(pkgs, list):
for ii in pkgs:
packages.add(ii)
else:
packages.add(pkgs)
# tell python black that this line is ok
# fmt: off
self._display.display("lsrpackages: " + " ".join(sorted(list(packages))))
# fmt: on
if results:
for item in results:
pkgs = item["invocation"]["module_args"]["name"]
if isinstance(pkgs, list):
for ii in pkgs:
packages.add(ii)
else:
packages.add(pkgs)
# tell python black that this line is ok
# fmt: off
self._display.display("lsrpackages: " + " ".join(sorted(list(packages))))
# fmt: on
Copilot is powered by AI and may make mistakes. Always verify output.
pkgs = item["invocation"]["module_args"]["name"]
if isinstance(pkgs, list):
for ii in pkgs:
packages.add(ii)
else:
packages.add(pkgs)
# tell python black that this line is ok
# fmt: off
self._display.display("lsrpackages: " + " ".join(sorted(list(packages))))
# fmt: on