antsibull-nox 0.3.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.
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.flake8 +1 -1
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.github/workflows/nox.yml +1 -1
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.pylintrc.automated +1 -0
- antsibull_nox-0.3.0/docs/changelog.md → antsibull_nox-0.5.0/CHANGELOG.md +84 -10
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/CHANGELOG.rst +45 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/PKG-INFO +1 -1
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/changelogs/changelog.yaml +43 -0
- antsibull_nox-0.3.0/CHANGELOG.md → antsibull_nox-0.5.0/docs/changelog.md +54 -29
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/config-file.md +86 -3
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/pyproject.toml +1 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/__init__.py +1 -1
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/ansible.py +15 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/data.py +12 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/install.py +194 -79
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/search.py +128 -30
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/config.py +4 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/action-groups.py +0 -1
- antsibull_nox-0.5.0/src/antsibull_nox/data/file-yamllint.py +138 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/plugin-yamllint.py +51 -24
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/interpret_config.py +13 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/ansible_lint.py +2 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/ansible_test.py +23 -17
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/collections.py +8 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/lint.py +88 -21
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/test_collection.py +9 -3
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.github/dependabot.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.github/patchback.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.github/workflows/reusable-nox-matrix.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.github/workflows/test-gh-action.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.gitignore +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/.readthedocs.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/CHANGELOG.md.license +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/CHANGELOG.rst.license +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/LICENSE +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/LICENSES/GPL-3.0-or-later.txt +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/README.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/REUSE.toml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/action.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/changelogs/changelog.yaml.license +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/changelogs/config.yaml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/changelogs/fragments/.keep +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/codecov.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/changelog.md.license +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/community.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/getting-started.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/index.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/introduction.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/nox-in-ci.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/reference.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs/troubleshooting.md +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/docs-requirements.txt +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/mkdocs.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/noxfile.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/_pydantic.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/cli.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/__init__.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/collection/extract.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/antsibull-nox-lint-config.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/antsibull_nox_data_util.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/license-check.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/license-check.py.license +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data/no-unwanted-files.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/data_util.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/init.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/lint_config.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/paths.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/py.typed +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/python.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/__init__.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/build_import_check.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/docs_check.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/extra_checks.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/license_check.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/sessions/utils.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/src/antsibull_nox/utils.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/.keep +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/needs-network/test_ansible_core.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/test-collection/antsibull-nox.toml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/test-collection/galaxy.yml +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/test-collection/noxfile.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/test-collection/plugins/modules/test.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/__init__.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/test_ansible.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/test_python.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/test_utils.py +0 -0
- {antsibull_nox-0.3.0 → antsibull_nox-0.5.0}/tests/unit/utils.py +0 -0
@@ -71,6 +71,7 @@ disable=
|
|
71
71
|
too-many-lines,
|
72
72
|
too-many-locals,
|
73
73
|
too-many-positional-arguments,
|
74
|
+
too-many-statements,
|
74
75
|
|
75
76
|
# Enable the message, report, category or checker with the given id(s). You can
|
76
77
|
# either give multiple identifier separated by comma (,) or put this option
|
@@ -1,9 +1,83 @@
|
|
1
1
|
# Antsibull Nox Helper Release Notes
|
2
2
|
|
3
|
+
**Topics**
|
4
|
+
|
5
|
+
- <a href="#v0-5-0">v0\.5\.0</a>
|
6
|
+
- <a href="#release-summary">Release Summary</a>
|
7
|
+
- <a href="#minor-changes">Minor Changes</a>
|
8
|
+
- <a href="#bugfixes">Bugfixes</a>
|
9
|
+
- <a href="#v0-4-0">v0\.4\.0</a>
|
10
|
+
- <a href="#release-summary-1">Release Summary</a>
|
11
|
+
- <a href="#major-changes">Major Changes</a>
|
12
|
+
- <a href="#minor-changes-1">Minor Changes</a>
|
13
|
+
- <a href="#bugfixes-1">Bugfixes</a>
|
14
|
+
- <a href="#v0-3-0">v0\.3\.0</a>
|
15
|
+
- <a href="#release-summary-2">Release Summary</a>
|
16
|
+
- <a href="#minor-changes-2">Minor Changes</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>
|
20
|
+
- <a href="#release-summary-3">Release Summary</a>
|
21
|
+
- <a href="#major-changes-1">Major Changes</a>
|
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>
|
27
|
+
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
|
28
|
+
- <a href="#bugfixes-3">Bugfixes</a>
|
29
|
+
- <a href="#v0-0-1">v0\.0\.1</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)\)\.
|
49
|
+
|
50
|
+
<a id="v0-4-0"></a>
|
51
|
+
## v0\.4\.0
|
52
|
+
|
53
|
+
<a id="release-summary-1"></a>
|
54
|
+
### Release Summary
|
55
|
+
|
56
|
+
Feature and bugfix release\.
|
57
|
+
|
58
|
+
<a id="major-changes"></a>
|
59
|
+
### Major Changes
|
60
|
+
|
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)\)\.
|
62
|
+
|
63
|
+
<a id="minor-changes-1"></a>
|
64
|
+
### Minor Changes
|
65
|
+
|
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)\)\.
|
67
|
+
* Make yamllint plugin check also check doc fragments \([https\://github\.com/ansible\-community/antsibull\-nox/pull/73](https\://github\.com/ansible\-community/antsibull\-nox/pull/73)\)\.
|
68
|
+
* Positional arguments passed to nox are now forwarded to <code>ansible\-lint</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/74](https\://github\.com/ansible\-community/antsibull\-nox/pull/74)\)\.
|
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)\)\.
|
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)\)\.
|
71
|
+
|
72
|
+
<a id="bugfixes-1"></a>
|
73
|
+
### Bugfixes
|
74
|
+
|
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)\)\.
|
76
|
+
|
3
77
|
<a id="v0-3-0"></a>
|
4
78
|
## v0\.3\.0
|
5
79
|
|
6
|
-
<a id="release-summary"></a>
|
80
|
+
<a id="release-summary-2"></a>
|
7
81
|
### Release Summary
|
8
82
|
|
9
83
|
Feature release that is stabilizing the API\.
|
@@ -11,7 +85,7 @@ Feature release that is stabilizing the API\.
|
|
11
85
|
All noxfiles and configs using this version should still work with antsibull\-nox 1\.0\.0\,
|
12
86
|
unless a critical problem is found that cannot be solved in any other way\.
|
13
87
|
|
14
|
-
<a id="minor-changes"></a>
|
88
|
+
<a id="minor-changes-2"></a>
|
15
89
|
### Minor Changes
|
16
90
|
|
17
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)\)\.
|
@@ -30,7 +104,7 @@ unless a critical problem is found that cannot be solved in any other way\.
|
|
30
104
|
|
31
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)\)\.
|
32
106
|
|
33
|
-
<a id="bugfixes"></a>
|
107
|
+
<a id="bugfixes-2"></a>
|
34
108
|
### Bugfixes
|
35
109
|
|
36
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)\)\.
|
@@ -41,17 +115,17 @@ unless a critical problem is found that cannot be solved in any other way\.
|
|
41
115
|
<a id="v0-2-0"></a>
|
42
116
|
## v0\.2\.0
|
43
117
|
|
44
|
-
<a id="release-summary-
|
118
|
+
<a id="release-summary-3"></a>
|
45
119
|
### Release Summary
|
46
120
|
|
47
121
|
Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
|
48
122
|
|
49
|
-
<a id="major-changes"></a>
|
123
|
+
<a id="major-changes-1"></a>
|
50
124
|
### Major Changes
|
51
125
|
|
52
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)\)\.
|
53
127
|
|
54
|
-
<a id="minor-changes-
|
128
|
+
<a id="minor-changes-3"></a>
|
55
129
|
### Minor Changes
|
56
130
|
|
57
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)\)\.
|
@@ -77,12 +151,12 @@ Major extension and overhaul with many breaking changes\. The next minor release
|
|
77
151
|
<a id="v0-1-0"></a>
|
78
152
|
## v0\.1\.0
|
79
153
|
|
80
|
-
<a id="release-summary-
|
154
|
+
<a id="release-summary-4"></a>
|
81
155
|
### Release Summary
|
82
156
|
|
83
157
|
Feature release\.
|
84
158
|
|
85
|
-
<a id="minor-changes-
|
159
|
+
<a id="minor-changes-4"></a>
|
86
160
|
### Minor Changes
|
87
161
|
|
88
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)\)\.
|
@@ -101,7 +175,7 @@ Feature release\.
|
|
101
175
|
|
102
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)\)\.
|
103
177
|
|
104
|
-
<a id="bugfixes-
|
178
|
+
<a id="bugfixes-3"></a>
|
105
179
|
### Bugfixes
|
106
180
|
|
107
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)\)\.
|
@@ -109,7 +183,7 @@ Feature release\.
|
|
109
183
|
<a id="v0-0-1"></a>
|
110
184
|
## v0\.0\.1
|
111
185
|
|
112
|
-
<a id="release-summary-
|
186
|
+
<a id="release-summary-5"></a>
|
113
187
|
### Release Summary
|
114
188
|
|
115
189
|
Initial alpha release\.
|
@@ -4,6 +4,51 @@ 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
|
+
|
25
|
+
v0.4.0
|
26
|
+
======
|
27
|
+
|
28
|
+
Release Summary
|
29
|
+
---------------
|
30
|
+
|
31
|
+
Feature and bugfix release.
|
32
|
+
|
33
|
+
Major Changes
|
34
|
+
-------------
|
35
|
+
|
36
|
+
- 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).
|
37
|
+
|
38
|
+
Minor Changes
|
39
|
+
-------------
|
40
|
+
|
41
|
+
- Capture mypy and pylint errors to report paths of files relative to collection's root, instead of relative to the virtual ``ansible_collections`` directory (https://github.com/ansible-community/antsibull-nox/pull/75).
|
42
|
+
- Make yamllint plugin check also check doc fragments (https://github.com/ansible-community/antsibull-nox/pull/73).
|
43
|
+
- Positional arguments passed to nox are now forwarded to ``ansible-lint`` (https://github.com/ansible-community/antsibull-nox/pull/74).
|
44
|
+
- The yamllint session now ignores ``RETURN`` documentation with values ``#`` and `` # `` (https://github.com/ansible-community/antsibull-nox/pull/71).
|
45
|
+
- The yamllint test no longer shows all filenames in the command line (https://github.com/ansible-community/antsibull-nox/pull/72).
|
46
|
+
|
47
|
+
Bugfixes
|
48
|
+
--------
|
49
|
+
|
50
|
+
- 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).
|
51
|
+
|
7
52
|
v0.3.0
|
8
53
|
======
|
9
54
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: antsibull-nox
|
3
|
-
Version: 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/
|
@@ -176,3 +176,46 @@ releases:
|
|
176
176
|
- 65-fix.yml
|
177
177
|
- 67-galaxy-importer.yml
|
178
178
|
release_date: '2025-04-21'
|
179
|
+
0.4.0:
|
180
|
+
changes:
|
181
|
+
bugfixes:
|
182
|
+
- Adjust yamllint test to no longer use the user's global config, but only
|
183
|
+
the project's config (https://github.com/ansible-community/antsibull-nox/pull/72).
|
184
|
+
major_changes:
|
185
|
+
- Required collections can now be installed from different sources per depending
|
186
|
+
on the ansible-core version (https://github.com/ansible-community/antsibull-nox/pull/76).
|
187
|
+
minor_changes:
|
188
|
+
- Capture mypy and pylint errors to report paths of files relative to collection's
|
189
|
+
root, instead of relative to the virtual ``ansible_collections`` directory
|
190
|
+
(https://github.com/ansible-community/antsibull-nox/pull/75).
|
191
|
+
- Make yamllint plugin check also check doc fragments (https://github.com/ansible-community/antsibull-nox/pull/73).
|
192
|
+
- Positional arguments passed to nox are now forwarded to ``ansible-lint``
|
193
|
+
(https://github.com/ansible-community/antsibull-nox/pull/74).
|
194
|
+
- 'The yamllint session now ignores ``RETURN`` documentation with values ``#``
|
195
|
+
and `` # `` (https://github.com/ansible-community/antsibull-nox/pull/71).'
|
196
|
+
- The yamllint test no longer shows all filenames in the command line (https://github.com/ansible-community/antsibull-nox/pull/72).
|
197
|
+
release_summary: Feature and bugfix release.
|
198
|
+
fragments:
|
199
|
+
- 0.4.0.yml
|
200
|
+
- 71-yamllint-return.yml
|
201
|
+
- 72-yamllint-config.yml
|
202
|
+
- 73-yamllint-doc-fragments.yml
|
203
|
+
- 74-ansible-lint-args.yml
|
204
|
+
- 75-mypy-pylint-errors.yml
|
205
|
+
- 76-collection-per-ansible-core-version.yml
|
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,29 +1,54 @@
|
|
1
1
|
# Antsibull Nox Helper Release Notes
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
+
|
21
|
+
<a id="v0-4-0"></a>
|
22
|
+
## v0\.4\.0
|
23
|
+
|
24
|
+
<a id="release-summary-1"></a>
|
25
|
+
### Release Summary
|
26
|
+
|
27
|
+
Feature and bugfix release\.
|
28
|
+
|
29
|
+
<a id="major-changes"></a>
|
30
|
+
### Major Changes
|
31
|
+
|
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)\)\.
|
33
|
+
|
34
|
+
<a id="minor-changes-1"></a>
|
35
|
+
### Minor Changes
|
36
|
+
|
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)\)\.
|
38
|
+
* Make yamllint plugin check also check doc fragments \([https\://github\.com/ansible\-community/antsibull\-nox/pull/73](https\://github\.com/ansible\-community/antsibull\-nox/pull/73)\)\.
|
39
|
+
* Positional arguments passed to nox are now forwarded to <code>ansible\-lint</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/74](https\://github\.com/ansible\-community/antsibull\-nox/pull/74)\)\.
|
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)\)\.
|
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)\)\.
|
42
|
+
|
43
|
+
<a id="bugfixes-1"></a>
|
44
|
+
### Bugfixes
|
45
|
+
|
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)\)\.
|
22
47
|
|
23
48
|
<a id="v0-3-0"></a>
|
24
49
|
## v0\.3\.0
|
25
50
|
|
26
|
-
<a id="release-summary"></a>
|
51
|
+
<a id="release-summary-2"></a>
|
27
52
|
### Release Summary
|
28
53
|
|
29
54
|
Feature release that is stabilizing the API\.
|
@@ -31,7 +56,7 @@ Feature release that is stabilizing the API\.
|
|
31
56
|
All noxfiles and configs using this version should still work with antsibull\-nox 1\.0\.0\,
|
32
57
|
unless a critical problem is found that cannot be solved in any other way\.
|
33
58
|
|
34
|
-
<a id="minor-changes"></a>
|
59
|
+
<a id="minor-changes-2"></a>
|
35
60
|
### Minor Changes
|
36
61
|
|
37
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)\)\.
|
@@ -50,7 +75,7 @@ unless a critical problem is found that cannot be solved in any other way\.
|
|
50
75
|
|
51
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)\)\.
|
52
77
|
|
53
|
-
<a id="bugfixes"></a>
|
78
|
+
<a id="bugfixes-2"></a>
|
54
79
|
### Bugfixes
|
55
80
|
|
56
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)\)\.
|
@@ -61,17 +86,17 @@ unless a critical problem is found that cannot be solved in any other way\.
|
|
61
86
|
<a id="v0-2-0"></a>
|
62
87
|
## v0\.2\.0
|
63
88
|
|
64
|
-
<a id="release-summary-
|
89
|
+
<a id="release-summary-3"></a>
|
65
90
|
### Release Summary
|
66
91
|
|
67
92
|
Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
|
68
93
|
|
69
|
-
<a id="major-changes"></a>
|
94
|
+
<a id="major-changes-1"></a>
|
70
95
|
### Major Changes
|
71
96
|
|
72
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)\)\.
|
73
98
|
|
74
|
-
<a id="minor-changes-
|
99
|
+
<a id="minor-changes-3"></a>
|
75
100
|
### Minor Changes
|
76
101
|
|
77
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)\)\.
|
@@ -97,12 +122,12 @@ Major extension and overhaul with many breaking changes\. The next minor release
|
|
97
122
|
<a id="v0-1-0"></a>
|
98
123
|
## v0\.1\.0
|
99
124
|
|
100
|
-
<a id="release-summary-
|
125
|
+
<a id="release-summary-4"></a>
|
101
126
|
### Release Summary
|
102
127
|
|
103
128
|
Feature release\.
|
104
129
|
|
105
|
-
<a id="minor-changes-
|
130
|
+
<a id="minor-changes-4"></a>
|
106
131
|
### Minor Changes
|
107
132
|
|
108
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)\)\.
|
@@ -121,7 +146,7 @@ Feature release\.
|
|
121
146
|
|
122
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)\)\.
|
123
148
|
|
124
|
-
<a id="bugfixes-
|
149
|
+
<a id="bugfixes-3"></a>
|
125
150
|
### Bugfixes
|
126
151
|
|
127
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)\)\.
|
@@ -129,7 +154,7 @@ Feature release\.
|
|
129
154
|
<a id="v0-0-1"></a>
|
130
155
|
## v0\.0\.1
|
131
156
|
|
132
|
-
<a id="release-summary-
|
157
|
+
<a id="release-summary-5"></a>
|
133
158
|
### Release Summary
|
134
159
|
|
135
160
|
Initial alpha release\.
|
@@ -19,10 +19,22 @@ A basic `antsibull-nox.toml` looks as follows:
|
|
19
19
|
|
20
20
|
[collection_sources]
|
21
21
|
# This section tells antsibull-nox how to install collections.
|
22
|
-
# We want to install community.internal_test_tools and community.
|
22
|
+
# We want to install community.internal_test_tools, community.general, and community.crypto
|
23
23
|
# from Git and not from Galaxy.
|
24
24
|
"community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main"
|
25
25
|
"community.general" = "git+https://github.com/ansible-collections/community.general.git,main"
|
26
|
+
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,main"
|
27
|
+
|
28
|
+
[collection_sources_per_ansible.'2.16']
|
29
|
+
# This section tells antsibull-nox how to install collections for ansible-core 2.16.
|
30
|
+
# (Note that we have to quote the ansible-core version in the section name!)
|
31
|
+
#
|
32
|
+
# If a collection is not mentioned here, the above generic section will be used.
|
33
|
+
# (And if it cannot be found there, antsibull-nox will simply get it from ansible-galaxy's default source.)
|
34
|
+
#
|
35
|
+
# We want to install community.crypto from its stable-2 branch from Git
|
36
|
+
# (the main branch only works with ansible-core 2.17+).
|
37
|
+
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,stable-2"
|
26
38
|
|
27
39
|
[sessions]
|
28
40
|
# The sub-sections of 'sessions' configure sessions to add.
|
@@ -88,6 +100,42 @@ The section `[collection_sources]` allows to configure this:
|
|
88
100
|
The syntax used is explained in [the Ansible documentation on installation of collections from Git repositories](https://docs.ansible.com/ansible-core/devel/collections_guide/collections_installing.html#installing-a-collection-from-a-git-repository-at-the-command-line)
|
89
101
|
and [the Ansible documentation on installation of older versions of a collection](https://docs.ansible.com/ansible-core/devel/collections_guide/collections_installing.html#installing-an-older-version-of-a-collection).
|
90
102
|
|
103
|
+
### Specific collection sources per ansible-core version
|
104
|
+
|
105
|
+
Sometimes it is necessary to use different sources for different ansible-core versions.
|
106
|
+
|
107
|
+
For example, your collection might support ansible-core 2.16+.
|
108
|
+
For testing, you need a collection that you want to install from Git.
|
109
|
+
Unfortunately, the `main` branch only works with ansible-core 2.17+,
|
110
|
+
so you need to use another branch for ansible-core 2.16.
|
111
|
+
|
112
|
+
In the following example, community.crypto is such a collection.
|
113
|
+
Its `main` branch needs ansible-core 2.17+,
|
114
|
+
but its `stable-2` branch also supports ansible-core 2.16 and before.
|
115
|
+
|
116
|
+
You can tell antsibull-nox to use the `stable-2` branch with ansible-core 2.16
|
117
|
+
by adding a `[collection_sources_per_ansible.'2.16']` section (note the quotes!).
|
118
|
+
```toml
|
119
|
+
[collection_sources]
|
120
|
+
# This section tells antsibull-nox how to install collections.
|
121
|
+
# We want to install community.internal_test_tools, community.general, and community.crypto
|
122
|
+
# from Git and not from Galaxy.
|
123
|
+
"community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main"
|
124
|
+
"community.general" = "git+https://github.com/ansible-collections/community.general.git,main"
|
125
|
+
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,main"
|
126
|
+
|
127
|
+
[collection_sources_per_ansible.'2.16']
|
128
|
+
# This section tells antsibull-nox how to install collections for ansible-core 2.16.
|
129
|
+
# (Note that we have to quote the ansible-core version in the section name!)
|
130
|
+
#
|
131
|
+
# If a collection is not mentioned here, the above generic section will be used.
|
132
|
+
# (And if it cannot be found there, antsibull-nox will simply get it from ansible-galaxy's default source.)
|
133
|
+
#
|
134
|
+
# We want to install community.crypto from its stable-2 branch from Git
|
135
|
+
# (the main branch only works with ansible-core 2.17+).
|
136
|
+
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,stable-2"
|
137
|
+
```
|
138
|
+
|
91
139
|
## Basic linting sessions
|
92
140
|
|
93
141
|
The basic linting session, `lint`, comes with three sessions it depends on:
|
@@ -384,9 +432,9 @@ It accepts the following options:
|
|
384
432
|
* `run_license_check: bool` (default `true`):
|
385
433
|
Whether a custom check script should be run that validates the following conditions:
|
386
434
|
|
387
|
-
|
435
|
+
1. All Python code in `plugins/` except module utils, modules, and docs fragments must be `GPL-3.0-or-later` licensed.
|
388
436
|
|
389
|
-
|
437
|
+
2. Every non-empty file has an allowed license. (This is similar to what `reuse lint` checks.)
|
390
438
|
|
391
439
|
* `license_check_extra_ignore_paths: list[str]` (default `[]`):
|
392
440
|
Allows to specify more paths that are ignored.
|
@@ -826,6 +874,11 @@ It is possible to restrict the Python versions used to run the tests per ansible
|
|
826
874
|
usually all Python versions supported on the remote side are used.
|
827
875
|
If this is set to `true`, only all Python versions uspported on the controller side are used.
|
828
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
|
+
|
829
882
|
#### Example code
|
830
883
|
|
831
884
|
This example is from `community.dns`.
|
@@ -842,6 +895,28 @@ include_devel = true
|
|
842
895
|
"2.18" = ["3.8", "3.13"]
|
843
896
|
```
|
844
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
|
+
|
845
920
|
### Run ansible-lint
|
846
921
|
|
847
922
|
The [ansible-lint](https://ansible.readthedocs.io/projects/lint/) session is added with the `[sessions.ansible_lint]` section in `antsibull-nox.toml`.
|
@@ -861,6 +936,14 @@ The added session is called `ansible-lint`. The section can contain the followin
|
|
861
936
|
Whether the `--strict` parameter should be passed to ansible-lint.
|
862
937
|
This treats warnings as errors.
|
863
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
|
+
|
864
947
|
#### Example code
|
865
948
|
|
866
949
|
This example is from `felixfontein.acme`.
|
@@ -253,8 +253,23 @@ def get_supported_core_versions(
|
|
253
253
|
return result
|
254
254
|
|
255
255
|
|
256
|
+
def parse_ansible_core_version(
|
257
|
+
version: str | AnsibleCoreVersion,
|
258
|
+
) -> AnsibleCoreVersion:
|
259
|
+
"""
|
260
|
+
Coerce a string or a AnsibleCoreVersion to a AnsibleCoreVersion.
|
261
|
+
"""
|
262
|
+
if version in ("devel", "milestone"):
|
263
|
+
# For some reason mypy doesn't notice that
|
264
|
+
return t.cast(AnsibleCoreVersion, version)
|
265
|
+
if isinstance(version, Version):
|
266
|
+
return version
|
267
|
+
return Version.parse(version)
|
268
|
+
|
269
|
+
|
256
270
|
__all__ = [
|
257
271
|
"AnsibleCoreInfo",
|
258
272
|
"get_ansible_core_info",
|
259
273
|
"get_ansible_core_package_name",
|
274
|
+
"parse_ansible_core_version",
|
260
275
|
]
|
@@ -10,6 +10,8 @@ Data types for collections.
|
|
10
10
|
|
11
11
|
from __future__ import annotations
|
12
12
|
|
13
|
+
import base64
|
14
|
+
import hashlib
|
13
15
|
from dataclasses import dataclass
|
14
16
|
from pathlib import Path
|
15
17
|
|
@@ -98,6 +100,16 @@ class CollectionSource:
|
|
98
100
|
)
|
99
101
|
return source
|
100
102
|
|
103
|
+
def identifier(self) -> str:
|
104
|
+
"""
|
105
|
+
Compute a source identifier.
|
106
|
+
"""
|
107
|
+
hasher = hashlib.sha256()
|
108
|
+
hasher.update(self.name.encode("utf-8"))
|
109
|
+
hasher.update(b"::")
|
110
|
+
hasher.update(self.source.encode("utf-8"))
|
111
|
+
return base64.b32encode(hasher.digest())[:16].decode("ascii")
|
112
|
+
|
101
113
|
|
102
114
|
__all__ = [
|
103
115
|
"CollectionData",
|