antsibull-nox 0.4.0__tar.gz → 0.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/CHANGELOG.md +44 -22
  2. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/CHANGELOG.rst +18 -0
  3. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/PKG-INFO +1 -1
  4. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/changelogs/changelog.yaml +15 -0
  5. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/changelog.md +30 -12
  6. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/config-file.md +35 -0
  7. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/__init__.py +1 -1
  8. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/config.py +1 -0
  9. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/action-groups.py +0 -1
  10. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/interpret_config.py +1 -0
  11. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/ansible_test.py +19 -4
  12. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.flake8 +0 -0
  13. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.github/dependabot.yml +0 -0
  14. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.github/patchback.yml +0 -0
  15. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.github/workflows/nox.yml +0 -0
  16. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.github/workflows/reusable-nox-matrix.yml +0 -0
  17. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.github/workflows/test-gh-action.yml +0 -0
  18. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.gitignore +0 -0
  19. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.pylintrc.automated +0 -0
  20. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/.readthedocs.yml +0 -0
  21. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/CHANGELOG.md.license +0 -0
  22. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/CHANGELOG.rst.license +0 -0
  23. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/LICENSE +0 -0
  24. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/LICENSES/GPL-3.0-or-later.txt +0 -0
  25. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/README.md +0 -0
  26. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/REUSE.toml +0 -0
  27. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/action.yml +0 -0
  28. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/changelogs/changelog.yaml.license +0 -0
  29. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/changelogs/config.yaml +0 -0
  30. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/changelogs/fragments/.keep +0 -0
  31. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/codecov.yml +0 -0
  32. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/changelog.md.license +0 -0
  33. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/community.md +0 -0
  34. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/getting-started.md +0 -0
  35. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/index.md +0 -0
  36. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/introduction.md +0 -0
  37. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/nox-in-ci.md +0 -0
  38. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/reference.md +0 -0
  39. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs/troubleshooting.md +0 -0
  40. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/docs-requirements.txt +0 -0
  41. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/mkdocs.yml +0 -0
  42. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/noxfile.py +0 -0
  43. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/pyproject.toml +0 -0
  44. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/_pydantic.py +0 -0
  45. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/ansible.py +0 -0
  46. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/cli.py +0 -0
  47. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/__init__.py +0 -0
  48. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/data.py +0 -0
  49. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/extract.py +0 -0
  50. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/install.py +0 -0
  51. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/search.py +0 -0
  52. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/antsibull-nox-lint-config.py +0 -0
  53. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/antsibull_nox_data_util.py +0 -0
  54. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/file-yamllint.py +0 -0
  55. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/license-check.py +0 -0
  56. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/license-check.py.license +0 -0
  57. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/no-unwanted-files.py +0 -0
  58. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/plugin-yamllint.py +0 -0
  59. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data_util.py +0 -0
  60. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/init.py +0 -0
  61. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/lint_config.py +0 -0
  62. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/paths.py +0 -0
  63. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/py.typed +0 -0
  64. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/python.py +0 -0
  65. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/__init__.py +0 -0
  66. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/ansible_lint.py +0 -0
  67. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/build_import_check.py +0 -0
  68. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/collections.py +0 -0
  69. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/docs_check.py +0 -0
  70. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/extra_checks.py +0 -0
  71. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/license_check.py +0 -0
  72. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/lint.py +0 -0
  73. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/utils.py +0 -0
  74. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/src/antsibull_nox/utils.py +0 -0
  75. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/.keep +0 -0
  76. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/needs-network/test_ansible_core.py +0 -0
  77. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/test-collection/antsibull-nox.toml +0 -0
  78. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/test-collection/galaxy.yml +0 -0
  79. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/test-collection/noxfile.py +0 -0
  80. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/test-collection/plugins/modules/test.py +0 -0
  81. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/__init__.py +0 -0
  82. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/test_ansible.py +0 -0
  83. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/test_collection.py +0 -0
  84. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/test_python.py +0 -0
  85. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/test_utils.py +0 -0
  86. {antsibull_nox-0.4.0 → antsibull_nox-0.5.0}/tests/unit/utils.py +0 -0
@@ -2,33 +2,55 @@
2
2
 
3
3
  **Topics**
4
4
 
5
- - <a href="#v0-4-0">v0\.4\.0</a>
5
+ - <a href="#v0-5-0">v0\.5\.0</a>
6
6
  - <a href="#release-summary">Release Summary</a>
7
- - <a href="#major-changes">Major Changes</a>
8
7
  - <a href="#minor-changes">Minor Changes</a>
9
8
  - <a href="#bugfixes">Bugfixes</a>
10
- - <a href="#v0-3-0">v0\.3\.0</a>
9
+ - <a href="#v0-4-0">v0\.4\.0</a>
11
10
  - <a href="#release-summary-1">Release Summary</a>
11
+ - <a href="#major-changes">Major Changes</a>
12
12
  - <a href="#minor-changes-1">Minor Changes</a>
13
- - <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
14
13
  - <a href="#bugfixes-1">Bugfixes</a>
15
- - <a href="#v0-2-0">v0\.2\.0</a>
14
+ - <a href="#v0-3-0">v0\.3\.0</a>
16
15
  - <a href="#release-summary-2">Release Summary</a>
17
- - <a href="#major-changes-1">Major Changes</a>
18
16
  - <a href="#minor-changes-2">Minor Changes</a>
19
- - <a href="#deprecated-features">Deprecated Features</a>
20
- - <a href="#v0-1-0">v0\.1\.0</a>
17
+ - <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
18
+ - <a href="#bugfixes-2">Bugfixes</a>
19
+ - <a href="#v0-2-0">v0\.2\.0</a>
21
20
  - <a href="#release-summary-3">Release Summary</a>
21
+ - <a href="#major-changes-1">Major Changes</a>
22
22
  - <a href="#minor-changes-3">Minor Changes</a>
23
+ - <a href="#deprecated-features">Deprecated Features</a>
24
+ - <a href="#v0-1-0">v0\.1\.0</a>
25
+ - <a href="#release-summary-4">Release Summary</a>
26
+ - <a href="#minor-changes-4">Minor Changes</a>
23
27
  - <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
24
- - <a href="#bugfixes-2">Bugfixes</a>
28
+ - <a href="#bugfixes-3">Bugfixes</a>
25
29
  - <a href="#v0-0-1">v0\.0\.1</a>
26
- - <a href="#release-summary-4">Release Summary</a>
30
+ - <a href="#release-summary-5">Release Summary</a>
31
+
32
+ <a id="v0-5-0"></a>
33
+ ## v0\.5\.0
34
+
35
+ <a id="release-summary"></a>
36
+ ### Release Summary
37
+
38
+ Feature and bugfix release\.
39
+
40
+ <a id="minor-changes"></a>
41
+ ### Minor Changes
42
+
43
+ * Allow to pass environment variables as Ansible variables for integration tests with the new <code>ansible\_vars\_from\_env\_vars</code> option for <code>sessions\.ansible\_test\_integration\_w\_default\_container</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/78](https\://github\.com/ansible\-community/antsibull\-nox/pull/78)\)\.
44
+
45
+ <a id="bugfixes"></a>
46
+ ### Bugfixes
47
+
48
+ * Fix action group test\. No errors were reported due to a bug in the test \([https\://github\.com/ansible\-community/antsibull\-nox/pull/80](https\://github\.com/ansible\-community/antsibull\-nox/pull/80)\)\.
27
49
 
28
50
  <a id="v0-4-0"></a>
29
51
  ## v0\.4\.0
30
52
 
31
- <a id="release-summary"></a>
53
+ <a id="release-summary-1"></a>
32
54
  ### Release Summary
33
55
 
34
56
  Feature and bugfix release\.
@@ -38,7 +60,7 @@ Feature and bugfix release\.
38
60
 
39
61
  * Required collections can now be installed from different sources per depending on the ansible\-core version \([https\://github\.com/ansible\-community/antsibull\-nox/pull/76](https\://github\.com/ansible\-community/antsibull\-nox/pull/76)\)\.
40
62
 
41
- <a id="minor-changes"></a>
63
+ <a id="minor-changes-1"></a>
42
64
  ### Minor Changes
43
65
 
44
66
  * Capture mypy and pylint errors to report paths of files relative to collection\'s root\, instead of relative to the virtual <code>ansible\_collections</code> directory \([https\://github\.com/ansible\-community/antsibull\-nox/pull/75](https\://github\.com/ansible\-community/antsibull\-nox/pull/75)\)\.
@@ -47,7 +69,7 @@ Feature and bugfix release\.
47
69
  * The yamllint session now ignores <code>RETURN</code> documentation with values <code>\#</code> and \`\` \# \`\` \([https\://github\.com/ansible\-community/antsibull\-nox/pull/71](https\://github\.com/ansible\-community/antsibull\-nox/pull/71)\)\.
48
70
  * The yamllint test no longer shows all filenames in the command line \([https\://github\.com/ansible\-community/antsibull\-nox/pull/72](https\://github\.com/ansible\-community/antsibull\-nox/pull/72)\)\.
49
71
 
50
- <a id="bugfixes"></a>
72
+ <a id="bugfixes-1"></a>
51
73
  ### Bugfixes
52
74
 
53
75
  * Adjust yamllint test to no longer use the user\'s global config\, but only the project\'s config \([https\://github\.com/ansible\-community/antsibull\-nox/pull/72](https\://github\.com/ansible\-community/antsibull\-nox/pull/72)\)\.
@@ -55,7 +77,7 @@ Feature and bugfix release\.
55
77
  <a id="v0-3-0"></a>
56
78
  ## v0\.3\.0
57
79
 
58
- <a id="release-summary-1"></a>
80
+ <a id="release-summary-2"></a>
59
81
  ### Release Summary
60
82
 
61
83
  Feature release that is stabilizing the API\.
@@ -63,7 +85,7 @@ Feature release that is stabilizing the API\.
63
85
  All noxfiles and configs using this version should still work with antsibull\-nox 1\.0\.0\,
64
86
  unless a critical problem is found that cannot be solved in any other way\.
65
87
 
66
- <a id="minor-changes-1"></a>
88
+ <a id="minor-changes-2"></a>
67
89
  ### Minor Changes
68
90
 
69
91
  * Add <code>antsibull\-nox init</code> command that creates a <code>noxfile\.py</code> and <code>antsibull\-nox\.tomll</code> to get started \([https\://github\.com/ansible\-community/antsibull\-nox/pull/58](https\://github\.com/ansible\-community/antsibull\-nox/pull/58)\)\.
@@ -82,7 +104,7 @@ unless a critical problem is found that cannot be solved in any other way\.
82
104
 
83
105
  * Removed all deprecated functions from <code>antsibull\_nox\.\*\*</code> that generate sessions\. The only functions left that are public API are <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code>\, <code>antsibull\_nox\.add\_ansible\_test\_session\(\)</code>\, and <code>antsibull\_nox\.sessions\.prepare\_collections\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/54](https\://github\.com/ansible\-community/antsibull\-nox/pull/54)\)\.
84
106
 
85
- <a id="bugfixes-1"></a>
107
+ <a id="bugfixes-2"></a>
86
108
  ### Bugfixes
87
109
 
88
110
  * Action groups extra test no longer fails if <code>action\_groups</code> does not exist in <code>meta/runtime\.yml</code>\. It can now be used to ensure that there is no action group present in <code>meta/runtime\.yml</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/60](https\://github\.com/ansible\-community/antsibull\-nox/pull/60)\)\.
@@ -93,7 +115,7 @@ unless a critical problem is found that cannot be solved in any other way\.
93
115
  <a id="v0-2-0"></a>
94
116
  ## v0\.2\.0
95
117
 
96
- <a id="release-summary-2"></a>
118
+ <a id="release-summary-3"></a>
97
119
  ### Release Summary
98
120
 
99
121
  Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
@@ -103,7 +125,7 @@ Major extension and overhaul with many breaking changes\. The next minor release
103
125
 
104
126
  * There is now a new function <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code> which loads <code>antsibull\-nox\.toml</code> and creates configuration and sessions from it\. Calling other functionality from <code>antsibull\_nox</code> in <code>noxfile\.py</code> is only necessary for creating own specialized sessions\, or ansible\-test sessions that cannot be created with the <code>antsibull\_nox\.add\_all\_ansible\_test\_\*\_test\_sessions\*\(\)</code> type functions \([https\://github\.com/ansible\-community/antsibull\-nox/pull/50](https\://github\.com/ansible\-community/antsibull\-nox/pull/50)\, [https\://github\.com/ansible\-community/antsibull\-nox/issues/34](https\://github\.com/ansible\-community/antsibull\-nox/issues/34)\)\.
105
127
 
106
- <a id="minor-changes-2"></a>
128
+ <a id="minor-changes-3"></a>
107
129
  ### Minor Changes
108
130
 
109
131
  * Add descriptions to generated sessions that are shown when running <code>nox \-\-list</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/31](https\://github\.com/ansible\-community/antsibull\-nox/pull/31)\)\.
@@ -129,12 +151,12 @@ Major extension and overhaul with many breaking changes\. The next minor release
129
151
  <a id="v0-1-0"></a>
130
152
  ## v0\.1\.0
131
153
 
132
- <a id="release-summary-3"></a>
154
+ <a id="release-summary-4"></a>
133
155
  ### Release Summary
134
156
 
135
157
  Feature release\.
136
158
 
137
- <a id="minor-changes-3"></a>
159
+ <a id="minor-changes-4"></a>
138
160
  ### Minor Changes
139
161
 
140
162
  * A <code>build\-import\-check</code> session that builds and tries to import the collection with Galaxy Importer can be added with <code>add\_build\_import\_check\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/issues/15](https\://github\.com/ansible\-community/antsibull\-nox/issues/15)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/17](https\://github\.com/ansible\-community/antsibull\-nox/pull/17)\)\.
@@ -153,7 +175,7 @@ Feature release\.
153
175
 
154
176
  * The nox workflow now by default runs all sessions\, unless restricted with the <code>sessions</code> parameter \([https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
155
177
 
156
- <a id="bugfixes-2"></a>
178
+ <a id="bugfixes-3"></a>
157
179
  ### Bugfixes
158
180
 
159
181
  * Make sure that black in CI checks formatting instead of just reformatting \([https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
@@ -161,7 +183,7 @@ Feature release\.
161
183
  <a id="v0-0-1"></a>
162
184
  ## v0\.0\.1
163
185
 
164
- <a id="release-summary-4"></a>
186
+ <a id="release-summary-5"></a>
165
187
  ### Release Summary
166
188
 
167
189
  Initial alpha release\.
@@ -4,6 +4,24 @@ Antsibull Nox Helper Release Notes
4
4
 
5
5
  .. contents:: Topics
6
6
 
7
+ v0.5.0
8
+ ======
9
+
10
+ Release Summary
11
+ ---------------
12
+
13
+ Feature and bugfix release.
14
+
15
+ Minor Changes
16
+ -------------
17
+
18
+ - Allow to pass environment variables as Ansible variables for integration tests with the new ``ansible_vars_from_env_vars`` option for ``sessions.ansible_test_integration_w_default_container`` (https://github.com/ansible-community/antsibull-nox/pull/78).
19
+
20
+ Bugfixes
21
+ --------
22
+
23
+ - Fix action group test. No errors were reported due to a bug in the test (https://github.com/ansible-community/antsibull-nox/pull/80).
24
+
7
25
  v0.4.0
8
26
  ======
9
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: antsibull-nox
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: Changelog tool for Ansible-core and Ansible collections
5
5
  Project-URL: Documentation, https://ansible.readthedocs.io/projects/antsibull-nox/
6
6
  Project-URL: Source code, https://github.com/ansible-community/antsibull-nox/
@@ -204,3 +204,18 @@ releases:
204
204
  - 75-mypy-pylint-errors.yml
205
205
  - 76-collection-per-ansible-core-version.yml
206
206
  release_date: '2025-05-06'
207
+ 0.5.0:
208
+ changes:
209
+ bugfixes:
210
+ - Fix action group test. No errors were reported due to a bug in the test
211
+ (https://github.com/ansible-community/antsibull-nox/pull/80).
212
+ minor_changes:
213
+ - Allow to pass environment variables as Ansible variables for integration
214
+ tests with the new ``ansible_vars_from_env_vars`` option for ``sessions.ansible_test_integration_w_default_container``
215
+ (https://github.com/ansible-community/antsibull-nox/pull/78).
216
+ release_summary: Feature and bugfix release.
217
+ fragments:
218
+ - 0.5.0.yml
219
+ - 78-env-vars-integration-tests.yml
220
+ - 80-action-groups.yml
221
+ release_date: '2025-05-18'
@@ -1,9 +1,27 @@
1
1
  # Antsibull Nox Helper Release Notes
2
2
 
3
+ <a id="v0-5-0"></a>
4
+ ## v0\.5\.0
5
+
6
+ <a id="release-summary"></a>
7
+ ### Release Summary
8
+
9
+ Feature and bugfix release\.
10
+
11
+ <a id="minor-changes"></a>
12
+ ### Minor Changes
13
+
14
+ * Allow to pass environment variables as Ansible variables for integration tests with the new <code>ansible\_vars\_from\_env\_vars</code> option for <code>sessions\.ansible\_test\_integration\_w\_default\_container</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/78](https\://github\.com/ansible\-community/antsibull\-nox/pull/78)\)\.
15
+
16
+ <a id="bugfixes"></a>
17
+ ### Bugfixes
18
+
19
+ * Fix action group test\. No errors were reported due to a bug in the test \([https\://github\.com/ansible\-community/antsibull\-nox/pull/80](https\://github\.com/ansible\-community/antsibull\-nox/pull/80)\)\.
20
+
3
21
  <a id="v0-4-0"></a>
4
22
  ## v0\.4\.0
5
23
 
6
- <a id="release-summary"></a>
24
+ <a id="release-summary-1"></a>
7
25
  ### Release Summary
8
26
 
9
27
  Feature and bugfix release\.
@@ -13,7 +31,7 @@ Feature and bugfix release\.
13
31
 
14
32
  * Required collections can now be installed from different sources per depending on the ansible\-core version \([https\://github\.com/ansible\-community/antsibull\-nox/pull/76](https\://github\.com/ansible\-community/antsibull\-nox/pull/76)\)\.
15
33
 
16
- <a id="minor-changes"></a>
34
+ <a id="minor-changes-1"></a>
17
35
  ### Minor Changes
18
36
 
19
37
  * Capture mypy and pylint errors to report paths of files relative to collection\'s root\, instead of relative to the virtual <code>ansible\_collections</code> directory \([https\://github\.com/ansible\-community/antsibull\-nox/pull/75](https\://github\.com/ansible\-community/antsibull\-nox/pull/75)\)\.
@@ -22,7 +40,7 @@ Feature and bugfix release\.
22
40
  * The yamllint session now ignores <code>RETURN</code> documentation with values <code>\#</code> and \`\` \# \`\` \([https\://github\.com/ansible\-community/antsibull\-nox/pull/71](https\://github\.com/ansible\-community/antsibull\-nox/pull/71)\)\.
23
41
  * The yamllint test no longer shows all filenames in the command line \([https\://github\.com/ansible\-community/antsibull\-nox/pull/72](https\://github\.com/ansible\-community/antsibull\-nox/pull/72)\)\.
24
42
 
25
- <a id="bugfixes"></a>
43
+ <a id="bugfixes-1"></a>
26
44
  ### Bugfixes
27
45
 
28
46
  * Adjust yamllint test to no longer use the user\'s global config\, but only the project\'s config \([https\://github\.com/ansible\-community/antsibull\-nox/pull/72](https\://github\.com/ansible\-community/antsibull\-nox/pull/72)\)\.
@@ -30,7 +48,7 @@ Feature and bugfix release\.
30
48
  <a id="v0-3-0"></a>
31
49
  ## v0\.3\.0
32
50
 
33
- <a id="release-summary-1"></a>
51
+ <a id="release-summary-2"></a>
34
52
  ### Release Summary
35
53
 
36
54
  Feature release that is stabilizing the API\.
@@ -38,7 +56,7 @@ Feature release that is stabilizing the API\.
38
56
  All noxfiles and configs using this version should still work with antsibull\-nox 1\.0\.0\,
39
57
  unless a critical problem is found that cannot be solved in any other way\.
40
58
 
41
- <a id="minor-changes-1"></a>
59
+ <a id="minor-changes-2"></a>
42
60
  ### Minor Changes
43
61
 
44
62
  * Add <code>antsibull\-nox init</code> command that creates a <code>noxfile\.py</code> and <code>antsibull\-nox\.tomll</code> to get started \([https\://github\.com/ansible\-community/antsibull\-nox/pull/58](https\://github\.com/ansible\-community/antsibull\-nox/pull/58)\)\.
@@ -57,7 +75,7 @@ unless a critical problem is found that cannot be solved in any other way\.
57
75
 
58
76
  * Removed all deprecated functions from <code>antsibull\_nox\.\*\*</code> that generate sessions\. The only functions left that are public API are <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code>\, <code>antsibull\_nox\.add\_ansible\_test\_session\(\)</code>\, and <code>antsibull\_nox\.sessions\.prepare\_collections\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/54](https\://github\.com/ansible\-community/antsibull\-nox/pull/54)\)\.
59
77
 
60
- <a id="bugfixes-1"></a>
78
+ <a id="bugfixes-2"></a>
61
79
  ### Bugfixes
62
80
 
63
81
  * Action groups extra test no longer fails if <code>action\_groups</code> does not exist in <code>meta/runtime\.yml</code>\. It can now be used to ensure that there is no action group present in <code>meta/runtime\.yml</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/60](https\://github\.com/ansible\-community/antsibull\-nox/pull/60)\)\.
@@ -68,7 +86,7 @@ unless a critical problem is found that cannot be solved in any other way\.
68
86
  <a id="v0-2-0"></a>
69
87
  ## v0\.2\.0
70
88
 
71
- <a id="release-summary-2"></a>
89
+ <a id="release-summary-3"></a>
72
90
  ### Release Summary
73
91
 
74
92
  Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
@@ -78,7 +96,7 @@ Major extension and overhaul with many breaking changes\. The next minor release
78
96
 
79
97
  * There is now a new function <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code> which loads <code>antsibull\-nox\.toml</code> and creates configuration and sessions from it\. Calling other functionality from <code>antsibull\_nox</code> in <code>noxfile\.py</code> is only necessary for creating own specialized sessions\, or ansible\-test sessions that cannot be created with the <code>antsibull\_nox\.add\_all\_ansible\_test\_\*\_test\_sessions\*\(\)</code> type functions \([https\://github\.com/ansible\-community/antsibull\-nox/pull/50](https\://github\.com/ansible\-community/antsibull\-nox/pull/50)\, [https\://github\.com/ansible\-community/antsibull\-nox/issues/34](https\://github\.com/ansible\-community/antsibull\-nox/issues/34)\)\.
80
98
 
81
- <a id="minor-changes-2"></a>
99
+ <a id="minor-changes-3"></a>
82
100
  ### Minor Changes
83
101
 
84
102
  * Add descriptions to generated sessions that are shown when running <code>nox \-\-list</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/31](https\://github\.com/ansible\-community/antsibull\-nox/pull/31)\)\.
@@ -104,12 +122,12 @@ Major extension and overhaul with many breaking changes\. The next minor release
104
122
  <a id="v0-1-0"></a>
105
123
  ## v0\.1\.0
106
124
 
107
- <a id="release-summary-3"></a>
125
+ <a id="release-summary-4"></a>
108
126
  ### Release Summary
109
127
 
110
128
  Feature release\.
111
129
 
112
- <a id="minor-changes-3"></a>
130
+ <a id="minor-changes-4"></a>
113
131
  ### Minor Changes
114
132
 
115
133
  * A <code>build\-import\-check</code> session that builds and tries to import the collection with Galaxy Importer can be added with <code>add\_build\_import\_check\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/issues/15](https\://github\.com/ansible\-community/antsibull\-nox/issues/15)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/17](https\://github\.com/ansible\-community/antsibull\-nox/pull/17)\)\.
@@ -128,7 +146,7 @@ Feature release\.
128
146
 
129
147
  * The nox workflow now by default runs all sessions\, unless restricted with the <code>sessions</code> parameter \([https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
130
148
 
131
- <a id="bugfixes-2"></a>
149
+ <a id="bugfixes-3"></a>
132
150
  ### Bugfixes
133
151
 
134
152
  * Make sure that black in CI checks formatting instead of just reformatting \([https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
@@ -136,7 +154,7 @@ Feature release\.
136
154
  <a id="v0-0-1"></a>
137
155
  ## v0\.0\.1
138
156
 
139
- <a id="release-summary-4"></a>
157
+ <a id="release-summary-5"></a>
140
158
  ### Release Summary
141
159
 
142
160
  Initial alpha release\.
@@ -874,6 +874,11 @@ It is possible to restrict the Python versions used to run the tests per ansible
874
874
  usually all Python versions supported on the remote side are used.
875
875
  If this is set to `true`, only all Python versions uspported on the controller side are used.
876
876
 
877
+ * `ansible_vars_from_env_vars: dict[str, str]` (default `{}`):
878
+ If given, will create an integration test config file which for every `key=value` pair,
879
+ contains an Ansible variable `key` with the value of the environment variable `value`.
880
+ If the environment variable is not defined, the Ansible variable will not be defined either.
881
+
877
882
  #### Example code
878
883
 
879
884
  This example is from `community.dns`.
@@ -890,6 +895,28 @@ include_devel = true
890
895
  "2.18" = ["3.8", "3.13"]
891
896
  ```
892
897
 
898
+ The following example is from `felixfontein.acme`.
899
+
900
+ ```toml
901
+ [sessions.ansible_test_integration_w_default_container]
902
+ include_devel = true
903
+
904
+ [sessions.ansible_test_integration_w_default_container.ansible_vars_from_env_vars]
905
+ "github_token" = "GITHUB_TOKEN"
906
+ ```
907
+
908
+ It passes the `GITHUB_TOKEN` environment variable on as `github_token`.
909
+ This allows to download files from other GitHub repositories while avoiding strict rate limiting:
910
+
911
+ ```yaml
912
+ - name: Download SOPS test GPG key
913
+ ansible.builtin.get_url:
914
+ headers:
915
+ Authorization: "{{ ('Bearer ' ~ github_token) if github_token is defined and github_token else '' }}"
916
+ url: https://raw.githubusercontent.com/getsops/sops/master/pgp/sops_functional_tests_key.asc
917
+ dest: "{{ _tempfile.path }}"
918
+ ```
919
+
893
920
  ### Run ansible-lint
894
921
 
895
922
  The [ansible-lint](https://ansible.readthedocs.io/projects/lint/) session is added with the `[sessions.ansible_lint]` section in `antsibull-nox.toml`.
@@ -909,6 +936,14 @@ The added session is called `ansible-lint`. The section can contain the followin
909
936
  Whether the `--strict` parameter should be passed to ansible-lint.
910
937
  This treats warnings as errors.
911
938
 
939
+ It is a good idea to add
940
+ ```yaml
941
+ exclude_paths:
942
+ - .nox/
943
+ ```
944
+ to your ansible-lint configuration file.
945
+ Otherwise ansible-lint might try to lint collection dependencies that antsibull-nox installed.
946
+
912
947
  #### Example code
913
948
 
914
949
  This example is from `felixfontein.acme`.
@@ -17,7 +17,7 @@ from .config import (
17
17
  from .interpret_config import interpret_config
18
18
  from .sessions.ansible_test import add_ansible_test_session
19
19
 
20
- __version__ = "0.4.0"
20
+ __version__ = "0.5.0"
21
21
 
22
22
 
23
23
  def load_antsibull_nox_toml() -> None:
@@ -275,6 +275,7 @@ class SessionAnsibleTestIntegrationWDefaultContainer(_BaseModel):
275
275
  except_versions: list[PAnsibleCoreVersion] = []
276
276
  core_python_versions: dict[t.Union[PAnsibleCoreVersion, str], list[PVersion]] = {}
277
277
  controller_python_versions_only: bool = False
278
+ ansible_vars_from_env_vars: dict[str, str] = {}
278
279
 
279
280
  @p.model_validator(mode="after")
280
281
  def _validate_core_keys(self) -> t.Self:
@@ -113,7 +113,6 @@ def scan(config: list[ActionGroup], errors: list[str]) -> None:
113
113
  modules_directory = "plugins/modules/"
114
114
  modules_suffix = ".py"
115
115
 
116
- errors = []
117
116
  for file in os.listdir(modules_directory):
118
117
  if not file.endswith(modules_suffix):
119
118
  continue
@@ -238,6 +238,7 @@ def _add_sessions(sessions: Sessions) -> None:
238
238
  cfg.core_python_versions
239
239
  ),
240
240
  controller_python_versions_only=cfg.controller_python_versions_only,
241
+ ansible_vars_from_env_vars=cfg.ansible_vars_from_env_vars,
241
242
  )
242
243
  if sessions.ansible_lint:
243
244
  add_ansible_lint(
@@ -16,6 +16,7 @@ from collections.abc import Callable
16
16
  from pathlib import Path
17
17
 
18
18
  import nox
19
+ from antsibull_fileutils.yaml import store_yaml_file
19
20
 
20
21
  from ..ansible import (
21
22
  AnsibleCoreVersion,
@@ -168,7 +169,7 @@ def add_ansible_test_sanity_test_session(
168
169
  """
169
170
  Add generic ansible-test sanity test session.
170
171
  """
171
- command = ["sanity", "--docker", "-v", "--color"]
172
+ command = ["sanity", "--color", "-v", "--docker"]
172
173
  if skip_tests:
173
174
  for test in skip_tests:
174
175
  command.extend(["--skip", test])
@@ -302,7 +303,7 @@ def add_ansible_test_unit_test_session(
302
303
  add_ansible_test_session(
303
304
  name=name,
304
305
  description=description,
305
- ansible_test_params=["units", "--docker", "-v", "--color"],
306
+ ansible_test_params=["units", "--color", "-v", "--docker"],
306
307
  extra_deps_files=["tests/unit/requirements.yml"],
307
308
  default=default,
308
309
  ansible_core_version=ansible_core_version,
@@ -397,6 +398,7 @@ def add_ansible_test_integration_sessions_default_container(
397
398
  dict[str | AnsibleCoreVersion, list[str | Version]] | None
398
399
  ) = None,
399
400
  controller_python_versions_only: bool = False,
401
+ ansible_vars_from_env_vars: dict[str, str] | None = None,
400
402
  default: bool = False,
401
403
  ) -> None:
402
404
  """
@@ -409,6 +411,18 @@ def add_ansible_test_integration_sessions_default_container(
409
411
  controller Python versions.
410
412
  """
411
413
 
414
+ def callback_before() -> None:
415
+ if not ansible_vars_from_env_vars:
416
+ return
417
+
418
+ path = Path("tests", "integration", "integration_config.yml")
419
+ content: dict[str, t.Any] = {}
420
+ for ans_var, env_var in ansible_vars_from_env_vars.items():
421
+ value = os.environ.get(env_var)
422
+ if value is not None:
423
+ content[ans_var] = env_var
424
+ store_yaml_file(path, content, nice=True, sort_keys=True)
425
+
412
426
  def add_integration_tests(
413
427
  ansible_core_version: AnsibleCoreVersion,
414
428
  repo_name: str | None = None,
@@ -459,10 +473,10 @@ def add_ansible_test_integration_sessions_default_container(
459
473
  description=description,
460
474
  ansible_test_params=[
461
475
  "integration",
476
+ "--color",
477
+ "-v",
462
478
  "--docker",
463
479
  "default",
464
- "-v",
465
- "--color",
466
480
  "--python",
467
481
  str(py_version),
468
482
  ],
@@ -470,6 +484,7 @@ def add_ansible_test_integration_sessions_default_container(
470
484
  ansible_core_version=ansible_core_version,
471
485
  ansible_core_repo_name=repo_name,
472
486
  ansible_core_branch_name=branch_name,
487
+ callback_before=callback_before,
473
488
  default=False,
474
489
  register_name="integration",
475
490
  register_extra_data={
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes