antsibull-nox 0.1.0__tar.gz → 0.3.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 (95) hide show
  1. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.flake8 +4 -0
  2. antsibull_nox-0.3.0/.github/workflows/nox.yml +74 -0
  3. antsibull_nox-0.3.0/.github/workflows/reusable-nox-matrix.yml +162 -0
  4. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.github/workflows/test-gh-action.yml +2 -2
  5. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.pylintrc.automated +2 -0
  6. antsibull_nox-0.3.0/CHANGELOG.md +135 -0
  7. antsibull_nox-0.3.0/CHANGELOG.rst +119 -0
  8. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/PKG-INFO +4 -2
  9. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/action.yml +22 -3
  10. antsibull_nox-0.3.0/changelogs/changelog.yaml +178 -0
  11. antsibull_nox-0.3.0/docs/changelog.md +115 -0
  12. antsibull_nox-0.3.0/docs/config-file.md +871 -0
  13. antsibull_nox-0.3.0/docs/getting-started.md +174 -0
  14. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/docs/index.md +5 -2
  15. antsibull_nox-0.3.0/docs/introduction.md +35 -0
  16. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/docs/nox-in-ci.md +32 -0
  17. antsibull_nox-0.3.0/docs/reference.md +290 -0
  18. antsibull_nox-0.3.0/docs/troubleshooting.md +42 -0
  19. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/mkdocs.yml +6 -3
  20. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/noxfile.py +2 -2
  21. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/pyproject.toml +16 -4
  22. antsibull_nox-0.3.0/src/antsibull_nox/__init__.py +36 -0
  23. antsibull_nox-0.3.0/src/antsibull_nox/_pydantic.py +98 -0
  24. antsibull_nox-0.3.0/src/antsibull_nox/ansible.py +260 -0
  25. antsibull_nox-0.3.0/src/antsibull_nox/cli.py +132 -0
  26. antsibull_nox-0.3.0/src/antsibull_nox/collection/__init__.py +56 -0
  27. antsibull_nox-0.3.0/src/antsibull_nox/collection/data.py +106 -0
  28. antsibull_nox-0.3.0/src/antsibull_nox/collection/extract.py +23 -0
  29. antsibull_nox-0.3.0/src/antsibull_nox/collection/install.py +523 -0
  30. antsibull_nox-0.3.0/src/antsibull_nox/collection/search.py +460 -0
  31. antsibull_nox-0.3.0/src/antsibull_nox/config.py +378 -0
  32. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/data/action-groups.py +3 -3
  33. antsibull_nox-0.3.0/src/antsibull_nox/data/antsibull-nox-lint-config.py +29 -0
  34. antsibull_nox-0.1.0/src/antsibull_nox/data_util.py → antsibull_nox-0.3.0/src/antsibull_nox/data/antsibull_nox_data_util.py +0 -24
  35. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/data/license-check.py +6 -2
  36. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/data/no-unwanted-files.py +5 -1
  37. antsibull_nox-0.3.0/src/antsibull_nox/data/plugin-yamllint.py +247 -0
  38. antsibull_nox-0.3.0/src/antsibull_nox/data_util.py +38 -0
  39. antsibull_nox-0.3.0/src/antsibull_nox/init.py +83 -0
  40. antsibull_nox-0.3.0/src/antsibull_nox/interpret_config.py +244 -0
  41. antsibull_nox-0.3.0/src/antsibull_nox/lint_config.py +113 -0
  42. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/paths.py +19 -0
  43. antsibull_nox-0.3.0/src/antsibull_nox/python.py +81 -0
  44. antsibull_nox-0.3.0/src/antsibull_nox/sessions/__init__.py +70 -0
  45. antsibull_nox-0.3.0/src/antsibull_nox/sessions/ansible_lint.py +58 -0
  46. antsibull_nox-0.3.0/src/antsibull_nox/sessions/ansible_test.py +568 -0
  47. antsibull_nox-0.3.0/src/antsibull_nox/sessions/build_import_check.py +147 -0
  48. antsibull_nox-0.3.0/src/antsibull_nox/sessions/collections.py +137 -0
  49. antsibull_nox-0.3.0/src/antsibull_nox/sessions/docs_check.py +78 -0
  50. antsibull_nox-0.3.0/src/antsibull_nox/sessions/extra_checks.py +127 -0
  51. antsibull_nox-0.3.0/src/antsibull_nox/sessions/license_check.py +73 -0
  52. antsibull_nox-0.3.0/src/antsibull_nox/sessions/lint.py +627 -0
  53. antsibull_nox-0.3.0/src/antsibull_nox/sessions/utils.py +206 -0
  54. antsibull_nox-0.3.0/src/antsibull_nox/utils.py +85 -0
  55. antsibull_nox-0.3.0/tests/needs-network/test_ansible_core.py +66 -0
  56. antsibull_nox-0.3.0/tests/test-collection/antsibull-nox.toml +8 -0
  57. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/tests/test-collection/galaxy.yml +2 -1
  58. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/tests/test-collection/noxfile.py +1 -8
  59. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/tests/test-collection/plugins/modules/test.py +1 -0
  60. antsibull_nox-0.3.0/tests/unit/__init__.py +0 -0
  61. antsibull_nox-0.3.0/tests/unit/test_ansible.py +309 -0
  62. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/tests/unit/test_collection.py +109 -56
  63. antsibull_nox-0.3.0/tests/unit/test_python.py +60 -0
  64. antsibull_nox-0.3.0/tests/unit/test_utils.py +90 -0
  65. antsibull_nox-0.3.0/tests/unit/utils.py +27 -0
  66. antsibull_nox-0.1.0/.github/workflows/nox.yml +0 -119
  67. antsibull_nox-0.1.0/CHANGELOG.md +0 -51
  68. antsibull_nox-0.1.0/CHANGELOG.rst +0 -45
  69. antsibull_nox-0.1.0/changelogs/changelog.yaml +0 -56
  70. antsibull_nox-0.1.0/docs/changelog.md +0 -41
  71. antsibull_nox-0.1.0/docs/getting-started.md +0 -203
  72. antsibull_nox-0.1.0/docs/reference.md +0 -624
  73. antsibull_nox-0.1.0/src/antsibull_nox/__init__.py +0 -33
  74. antsibull_nox-0.1.0/src/antsibull_nox/collection.py +0 -545
  75. antsibull_nox-0.1.0/src/antsibull_nox/sessions.py +0 -840
  76. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.github/dependabot.yml +0 -0
  77. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.github/patchback.yml +0 -0
  78. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.gitignore +0 -0
  79. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/.readthedocs.yml +0 -0
  80. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/CHANGELOG.md.license +0 -0
  81. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/CHANGELOG.rst.license +0 -0
  82. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/LICENSE +0 -0
  83. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/LICENSES/GPL-3.0-or-later.txt +0 -0
  84. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/README.md +0 -0
  85. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/REUSE.toml +0 -0
  86. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/changelogs/changelog.yaml.license +0 -0
  87. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/changelogs/config.yaml +0 -0
  88. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/changelogs/fragments/.keep +0 -0
  89. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/codecov.yml +0 -0
  90. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/docs/changelog.md.license +0 -0
  91. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/docs/community.md +0 -0
  92. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/docs-requirements.txt +0 -0
  93. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/data/license-check.py.license +0 -0
  94. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/src/antsibull_nox/py.typed +0 -0
  95. {antsibull_nox-0.1.0 → antsibull_nox-0.3.0}/tests/.keep +0 -0
@@ -11,3 +11,7 @@ max-line-length = 100
11
11
  statistics = True
12
12
  # These rules conflict with black
13
13
  ignore = E203, W503
14
+
15
+ # Line in multi-line string is too long:
16
+ per-file-ignores =
17
+ src/antsibull_nox/init.py:E501
@@ -0,0 +1,74 @@
1
+ ---
2
+ # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or
3
+ # https://www.gnu.org/licenses/gpl-3.0.txt)
4
+ # SPDX-License-Identifier: GPL-3.0-or-later
5
+ # SPDX-FileCopyrightText: 2023 Maxwell G <maxwell@gtmx.me>
6
+
7
+ name: nox
8
+ 'on':
9
+ push:
10
+ branches: [main]
11
+ pull_request:
12
+ branches: [main]
13
+ # Run once per week (Monday at 03:30 UTC)
14
+ schedule:
15
+ - cron: '30 3 * * 1'
16
+ workflow_dispatch:
17
+
18
+ env:
19
+ FORCE_COLOR: "1"
20
+
21
+ jobs:
22
+ nox:
23
+ runs-on: ubuntu-latest
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ include:
28
+ - session: test
29
+ python-versions: "3.9, 3.10, 3.11, 3.12, 3.13"
30
+ force-python: ""
31
+ codecov: true
32
+ packages: ""
33
+
34
+ - session: integration
35
+ python-versions: "3.13"
36
+ force-python: "3.13"
37
+ codecov: true
38
+ packages: ""
39
+
40
+ - session: lint
41
+ python-versions: "3.13"
42
+ force-python: "3.13"
43
+ codecov: false
44
+ packages: ""
45
+ name: "Run nox ${{ matrix.session }} session"
46
+ steps:
47
+ - name: Check out antsibull-nox
48
+ uses: actions/checkout@v4
49
+ with:
50
+ path: antsibull-nox
51
+ persist-credentials: false
52
+ - name: Check out dependent project antsibull-fileutils
53
+ uses: actions/checkout@v4
54
+ with:
55
+ repository: ansible-community/antsibull-fileutils
56
+ path: antsibull-fileutils
57
+ persist-credentials: false
58
+ - name: Install extra packages
59
+ if: "matrix.packages != ''"
60
+ run: |
61
+ sudo apt-get install -y ${{ matrix.packages }}
62
+ - name: Setup nox
63
+ uses: wntrblm/nox@2025.02.09
64
+ with:
65
+ python-versions: "${{ matrix.python-versions }}"
66
+ - name: Run nox
67
+ uses: ansible-community/github-action-run-nox@v1
68
+ with:
69
+ sessions: ${{ matrix.session }}
70
+ force-pythons: ${{ matrix.force-python }}
71
+ working-directory: antsibull-nox
72
+ codecov: ${{ matrix.codecov }}
73
+ codecov-session: coverage
74
+ codecov-token: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,162 @@
1
+ ---
2
+ # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or
3
+ # https://www.gnu.org/licenses/gpl-3.0.txt)
4
+ # SPDX-License-Identifier: GPL-3.0-or-later
5
+ # SPDX-FileCopyrightText: 2025 Felix Fontein <felix@fontein.de>
6
+
7
+ name: Run sanity, unit, and integration tests
8
+
9
+ "on":
10
+ workflow_call:
11
+ inputs:
12
+ upload-codecov:
13
+ type: boolean
14
+ description: >-
15
+ Whether code coverage should be collected and uploaded to codecov.io.
16
+ required: false
17
+ default: false
18
+ secrets:
19
+ CODECOV_TOKEN:
20
+ required: false
21
+
22
+ jobs:
23
+ create-matrixes:
24
+ name: "Create matrixes"
25
+ runs-on: ubuntu-latest
26
+ outputs:
27
+ sanity-matrix: ${{ fromJSON(steps.generate-matrix.outputs.run-nox).sanity }}
28
+ units-matrix: ${{ fromJSON(steps.generate-matrix.outputs.run-nox).units }}
29
+ integration-matrix: ${{ fromJSON(steps.generate-matrix.outputs.run-nox).integration }}
30
+ steps:
31
+ - name: Check out collection
32
+ uses: actions/checkout@v4
33
+ with:
34
+ persist-credentials: false
35
+ - name: Run nox
36
+ uses: ansible-community/antsibull-nox@main
37
+ id: generate-matrix
38
+ with:
39
+ sessions: matrix-generator
40
+
41
+ sanity:
42
+ name: ${{ matrix.skip && 'Skipping ' || '' }}Sanity (Ⓐ${{ matrix.ansible-core }})
43
+ needs:
44
+ - create-matrixes
45
+ strategy:
46
+ matrix:
47
+ include: >-
48
+ ${{ fromJson(needs.create-matrixes.outputs.sanity-matrix || '[{"skip": true}]') }}
49
+ runs-on: ${{ matrix.gha-container || 'ubuntu-latest' }}
50
+ steps:
51
+ - name: Check out collection
52
+ if: >-
53
+ !matrix.skip
54
+ uses: actions/checkout@v4
55
+ with:
56
+ persist-credentials: false
57
+ - name: Run nox
58
+ if: >-
59
+ !matrix.skip
60
+ uses: ansible-community/antsibull-nox@main
61
+ with:
62
+ extra-python-versions: ${{ matrix.python }}
63
+ extra-args: ${{ inputs.upload-codecov && '--coverage' || '' }}
64
+ sessions: ${{ matrix.name }}
65
+ - name: Upload coverage for final step
66
+ if: >-
67
+ !matrix.skip && inputs.upload-codecov
68
+ uses: actions/upload-artifact@v4
69
+ with:
70
+ name: code-coverage-sanity-${{ matrix.name }}
71
+ path: tests/output/reports/coverage=sanity=*.xml
72
+
73
+ units:
74
+ name: ${{ matrix.skip && 'Skipping ' || '' }}Units (${{ matrix.display-name }})
75
+ needs:
76
+ - create-matrixes
77
+ strategy:
78
+ matrix:
79
+ include: >-
80
+ ${{ fromJson(needs.create-matrixes.outputs.units-matrix || '[{"skip": true}]') }}
81
+ runs-on: ${{ matrix.gha-container || 'ubuntu-latest' }}
82
+ steps:
83
+ - name: Check out collection
84
+ if: >-
85
+ !matrix.skip
86
+ uses: actions/checkout@v4
87
+ with:
88
+ persist-credentials: false
89
+ - name: Run nox
90
+ if: >-
91
+ !matrix.skip
92
+ uses: ansible-community/antsibull-nox@main
93
+ with:
94
+ extra-python-versions: ${{ matrix.python }}
95
+ extra-args: ${{ inputs.upload-codecov && '--coverage' || '' }}
96
+ sessions: ${{ matrix.name }}
97
+ - name: Upload coverage for final step
98
+ if: >-
99
+ !matrix.skip && inputs.upload-codecov
100
+ uses: actions/upload-artifact@v4
101
+ with:
102
+ name: code-coverage-units-${{ matrix.name }}
103
+ path: tests/output/reports/coverage=units=*.xml
104
+
105
+ integration:
106
+ name: ${{ matrix.skip && 'Skipping ' || '' }}I (${{ matrix.display-name }})
107
+ needs:
108
+ - create-matrixes
109
+ strategy:
110
+ fail-fast: false
111
+ matrix:
112
+ include: >-
113
+ ${{ fromJson(needs.create-matrixes.outputs.integration-matrix || '[{"skip": true}]') }}
114
+ runs-on: ${{ matrix.gha-container || 'ubuntu-latest' }}
115
+ steps:
116
+ - name: Check out collection
117
+ if: >-
118
+ !matrix.skip
119
+ uses: actions/checkout@v4
120
+ with:
121
+ persist-credentials: false
122
+ - name: Run nox
123
+ if: >-
124
+ !matrix.skip
125
+ uses: ansible-community/antsibull-nox@main
126
+ with:
127
+ extra-python-versions: ${{ matrix.python }}
128
+ extra-args: ${{ inputs.upload-codecov && '--coverage' || '' }}
129
+ sessions: ${{ matrix.name }}
130
+ - name: Upload coverage for final step
131
+ if: >-
132
+ !matrix.skip && inputs.upload-codecov && (matrix.has-coverage != 'false')
133
+ uses: actions/upload-artifact@v4
134
+ with:
135
+ name: code-coverage-integration-${{ matrix.name }}
136
+ path: tests/output/reports/coverage=integration=*.xml
137
+
138
+ upload-coverage:
139
+ name: Upload coverage
140
+ if: inputs.upload-codecov
141
+ needs:
142
+ - sanity
143
+ - units
144
+ - integration
145
+ runs-on: ubuntu-latest
146
+ steps:
147
+ - name: Check out collection
148
+ uses: actions/checkout@v4
149
+ with:
150
+ persist-credentials: false
151
+ - name: Download coverage from previous steps
152
+ uses: actions/download-artifact@v4
153
+ with:
154
+ pattern: code-coverage-*
155
+ - name: List all files
156
+ run: find . -name 'coverage=*.xml'
157
+ shell: bash
158
+ - name: Upload coverage
159
+ uses: codecov/codecov-action@v5
160
+ with:
161
+ files: coverage=*.xml
162
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -2,7 +2,7 @@
2
2
  # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or
3
3
  # https://www.gnu.org/licenses/gpl-3.0.txt)
4
4
  # SPDX-License-Identifier: GPL-3.0-or-later
5
- # SPDX-FileCopyrightText: 2023 Maxwell G <maxwell@gtmx.me
5
+ # SPDX-FileCopyrightText: 2023 Maxwell G <maxwell@gtmx.me>
6
6
 
7
7
  name: test-gh-action
8
8
  'on':
@@ -21,7 +21,7 @@ env:
21
21
  jobs:
22
22
  test-gh-action:
23
23
  runs-on: ubuntu-latest
24
- name: "Run nox ${{ matrix.session }} session"
24
+ name: "Run nox"
25
25
  steps:
26
26
  - name: Check out antsibull-nox
27
27
  uses: actions/checkout@v4
@@ -66,7 +66,9 @@ confidence=
66
66
  # --disable=W".
67
67
  disable=
68
68
  locally-disabled,
69
+ too-few-public-methods,
69
70
  too-many-arguments,
71
+ too-many-lines,
70
72
  too-many-locals,
71
73
  too-many-positional-arguments,
72
74
 
@@ -0,0 +1,135 @@
1
+ # Antsibull Nox Helper Release Notes
2
+
3
+ **Topics**
4
+
5
+ - <a href="#v0-3-0">v0\.3\.0</a>
6
+ - <a href="#release-summary">Release Summary</a>
7
+ - <a href="#minor-changes">Minor Changes</a>
8
+ - <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
9
+ - <a href="#bugfixes">Bugfixes</a>
10
+ - <a href="#v0-2-0">v0\.2\.0</a>
11
+ - <a href="#release-summary-1">Release Summary</a>
12
+ - <a href="#major-changes">Major Changes</a>
13
+ - <a href="#minor-changes-1">Minor Changes</a>
14
+ - <a href="#deprecated-features">Deprecated Features</a>
15
+ - <a href="#v0-1-0">v0\.1\.0</a>
16
+ - <a href="#release-summary-2">Release Summary</a>
17
+ - <a href="#minor-changes-2">Minor Changes</a>
18
+ - <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
19
+ - <a href="#bugfixes-1">Bugfixes</a>
20
+ - <a href="#v0-0-1">v0\.0\.1</a>
21
+ - <a href="#release-summary-3">Release Summary</a>
22
+
23
+ <a id="v0-3-0"></a>
24
+ ## v0\.3\.0
25
+
26
+ <a id="release-summary"></a>
27
+ ### Release Summary
28
+
29
+ Feature release that is stabilizing the API\.
30
+
31
+ All noxfiles and configs using this version should still work with antsibull\-nox 1\.0\.0\,
32
+ unless a critical problem is found that cannot be solved in any other way\.
33
+
34
+ <a id="minor-changes"></a>
35
+ ### Minor Changes
36
+
37
+ * 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)\)\.
38
+ * Add <code>callback\_before</code> and <code>callback\_after</code> parameters to <code>antsibull\_nox\.add\_ansible\_test\_session\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/63](https\://github\.com/ansible\-community/antsibull\-nox/pull/63)\)\.
39
+ * Add a <code>antsibull\-nox</code> CLI tool with a subcommand <code>lint\-config</code> that lints <code>noxfile\.py</code> and the <code>antsibull\-nox\.toml</code> config file \([https\://github\.com/ansible\-community/antsibull\-nox/pull/56](https\://github\.com/ansible\-community/antsibull\-nox/pull/56)\)\.
40
+ * Add a session for linting the antsibull\-nox configuration to <code>lint</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/56](https\://github\.com/ansible\-community/antsibull\-nox/pull/56)\)\.
41
+ * Add new options <code>skip\_tests</code>\, <code>allow\_disabled</code>\, and <code>enable\_optional\_errors</code> for ansible\-test sanity sessions \([https\://github\.com/ansible\-community/antsibull\-nox/pull/61](https\://github\.com/ansible\-community/antsibull\-nox/pull/61)\)\.
42
+ * Allow to disable coverage upload for specific integration test jobs in shared workflow with <code>has\-coverage\=false</code> in extra data \([https\://github\.com/ansible\-community/antsibull\-nox/pull/64](https\://github\.com/ansible\-community/antsibull\-nox/pull/64)\)\.
43
+ * Ensure that Galaxy importer\'s output is actually collapsed on GHA \([https\://github\.com/ansible\-community/antsibull\-nox/pull/67](https\://github\.com/ansible\-community/antsibull\-nox/pull/67)\)\.
44
+ * Never show Galaxy importer output unless it can be collapsed\, verbosity is enabled\, or a new config option <code>galaxy\_importer\_always\_show\_logs</code> is set to <code>true</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/67](https\://github\.com/ansible\-community/antsibull\-nox/pull/67)\)\.
45
+ * Skip symlinks that do not point to files in <code>license\-check</code> and <code>yamllint</code> sessions \([https\://github\.com/ansible\-community/antsibull\-nox/pull/61](https\://github\.com/ansible\-community/antsibull\-nox/pull/61)\)\.
46
+ * Update shared workflow to use a <code>display\-name</code> and <code>gha\-container</code> extra data \([https\://github\.com/ansible\-community/antsibull\-nox/pull/63](https\://github\.com/ansible\-community/antsibull\-nox/pull/63)\)\.
47
+
48
+ <a id="removed-features-previously-deprecated"></a>
49
+ ### Removed Features \(previously deprecated\)
50
+
51
+ * 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
+
53
+ <a id="bugfixes"></a>
54
+ ### Bugfixes
55
+
56
+ * 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)\)\.
57
+ * Do not fail when trying to install an empty list of packages when <code>run\_reuse\=false</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/65](https\://github\.com/ansible\-community/antsibull\-nox/pull/65)\)\.
58
+ * Make sure that <code>extra\_code\_files</code> is considered for <code>black</code> when <code>run\_black\_modules\=false</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/59](https\://github\.com/ansible\-community/antsibull\-nox/pull/59)\)\.
59
+ * Make sure to flush stdout after calling <code>print\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/67](https\://github\.com/ansible\-community/antsibull\-nox/pull/67)\)\.
60
+
61
+ <a id="v0-2-0"></a>
62
+ ## v0\.2\.0
63
+
64
+ <a id="release-summary-1"></a>
65
+ ### Release Summary
66
+
67
+ Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
68
+
69
+ <a id="major-changes"></a>
70
+ ### Major Changes
71
+
72
+ * 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
+
74
+ <a id="minor-changes-1"></a>
75
+ ### Minor Changes
76
+
77
+ * 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)\)\.
78
+ * Add function <code>add\_matrix\_generator</code> which allows to generate matrixes for CI systems for ansible\-test runs \([https\://github\.com/ansible\-community/antsibull\-nox/pull/32](https\://github\.com/ansible\-community/antsibull\-nox/pull/32)\)\.
79
+ * Add several new functions to add ansible\-test runs \([https\://github\.com/ansible\-community/antsibull\-nox/issues/5](https\://github\.com/ansible\-community/antsibull\-nox/issues/5)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/32](https\://github\.com/ansible\-community/antsibull\-nox/pull/32)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/41](https\://github\.com/ansible\-community/antsibull\-nox/pull/41)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/45](https\://github\.com/ansible\-community/antsibull\-nox/pull/45)\)\.
80
+ * Add shared workflow for running ansible\-test from nox and generating the CI matrix from nox as well \([https\://github\.com/ansible\-community/antsibull\-nox/issues/35](https\://github\.com/ansible\-community/antsibull\-nox/issues/35)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/37](https\://github\.com/ansible\-community/antsibull\-nox/pull/37)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/38](https\://github\.com/ansible\-community/antsibull\-nox/pull/38)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/48](https\://github\.com/ansible\-community/antsibull\-nox/pull/48)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/53](https\://github\.com/ansible\-community/antsibull\-nox/pull/53)\)\.
81
+ * Allow to add <code>yamllint</code> session to <code>lint</code> meta\-session that checks YAML files\, and YAML content embedded in plugins and sidecar docs \([https\://github\.com/ansible\-community/antsibull\-nox/pull/42](https\://github\.com/ansible\-community/antsibull\-nox/pull/42)\)\.
82
+ * Allow to add ansible\-lint session \([https\://github\.com/ansible\-community/antsibull\-nox/issues/40](https\://github\.com/ansible\-community/antsibull\-nox/issues/40)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/49](https\://github\.com/ansible\-community/antsibull\-nox/pull/49)\)\.
83
+ * Allow to disable using installed collections that are not checked out next to the current one by setting the environment variable <code>ANTSIBULL\_NOX\_IGNORE\_INSTALLED\_COLLECTIONS</code> to <code>true</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/51](https\://github\.com/ansible\-community/antsibull\-nox/pull/51)\)\.
84
+ * Collapse Galaxy importer\'s output in GitHub Actions \([https\://github\.com/ansible\-community/antsibull\-nox/pull/46](https\://github\.com/ansible\-community/antsibull\-nox/pull/46)\)\.
85
+ * In the GitHub Action\, no longer use installed collections\, but only ones that have been checked out next to the current one\. This avoids using collections that come with the Ansible community package installed in the default GHA image \([https\://github\.com/ansible\-community/antsibull\-nox/pull/51](https\://github\.com/ansible\-community/antsibull\-nox/pull/51)\)\.
86
+ * The action allows to install additional Python versions with the new <code>extra\-python\-versions</code> option \([https\://github\.com/ansible\-community/antsibull\-nox/pull/32](https\://github\.com/ansible\-community/antsibull\-nox/pull/32)\)\.
87
+ * The action allows to pass extra commands after <code>\-\-</code> with the new <code>extra\-args</code> option \([https\://github\.com/ansible\-community/antsibull\-nox/pull/32](https\://github\.com/ansible\-community/antsibull\-nox/pull/32)\)\.
88
+ * antsibull\-nox now automatically installs missing collections\. It uses <code>\.nox/\.cache</code> to store the collection artifacts and the extracted collections \([https\://github\.com/ansible\-community/antsibull\-nox/pull/46](https\://github\.com/ansible\-community/antsibull\-nox/pull/46)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/52](https\://github\.com/ansible\-community/antsibull\-nox/pull/52)\, [https\://github\.com/ansible\-community/antsibull\-nox/issues/7](https\://github\.com/ansible\-community/antsibull\-nox/issues/7)\)\.
89
+ * pydantic is now a required Python dependency of antsibull\-nox \([https\://github\.com/ansible\-community/antsibull\-nox/pull/50](https\://github\.com/ansible\-community/antsibull\-nox/pull/50)\)\.
90
+ * tomli is now a required Python dependency of antsibull\-nox for Python versions 3\.9 and 3\.10 For Python 3\.11\+\, the standard library tomllib will be used \([https\://github\.com/ansible\-community/antsibull\-nox/pull/50](https\://github\.com/ansible\-community/antsibull\-nox/pull/50)\)\.
91
+
92
+ <a id="deprecated-features"></a>
93
+ ### Deprecated Features
94
+
95
+ * All functions in <code>antsibull\_nox\.\*\*</code> are deprecated except <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code>\, <code>antsibull\_nox\.add\_ansible\_test\_session\(\)</code>\, and <code>antsibull\_nox\.sessions\.prepare\_collections\(\)</code>\. The other function will still work for the next minor release\, but will then be removed\. Use <code>antsibull\-nox\.toml</code> and <code>antsibull\_nox\.load\_antsibull\_nox\_toml\(\)</code> instead \([https\://github\.com/ansible\-community/antsibull\-nox/pull/50](https\://github\.com/ansible\-community/antsibull\-nox/pull/50)\)\.
96
+
97
+ <a id="v0-1-0"></a>
98
+ ## v0\.1\.0
99
+
100
+ <a id="release-summary-2"></a>
101
+ ### Release Summary
102
+
103
+ Feature release\.
104
+
105
+ <a id="minor-changes-2"></a>
106
+ ### Minor Changes
107
+
108
+ * 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)\)\.
109
+ * A <code>docs\-check</code> session that runs <code>antsibull\-docs lint\-collection\-docs</code> can be added with <code>add\_docs\_check\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/issues/8](https\://github\.com/ansible\-community/antsibull\-nox/issues/8)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
110
+ * A <code>extra\-checks</code> session that runs extra checks such as <code>no\-unwanted\-files</code> or <code>action\-groups</code> can be added with <code>add\_extra\_checks\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/issues/8](https\://github\.com/ansible\-community/antsibull\-nox/issues/8)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
111
+ * A <code>license\-check</code> session that runs <code>reuse</code> and checks for bad licenses can be added with <code>add\_license\_check\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/issues/8](https\://github\.com/ansible\-community/antsibull\-nox/issues/8)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
112
+ * Allow to decide which sessions should be marked as default and which not \([https\://github\.com/ansible\-community/antsibull\-nox/issues/18](https\://github\.com/ansible\-community/antsibull\-nox/issues/18)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/20](https\://github\.com/ansible\-community/antsibull\-nox/pull/20)\)\.
113
+ * Allow to provide <code>extra\_code\_files</code> to <code>add\_lint\_sessions\(\)</code> \([https\://github\.com/ansible\-community/antsibull\-nox/pull/14](https\://github\.com/ansible\-community/antsibull\-nox/pull/14)\)\.
114
+ * Check whether we\'re running in CI using the generic <code>\$CI</code> enviornment variable instead of <code>\$GITHUB\_ACTIONS</code>\. <code>\$CI</code> is set to <code>true</code> on Github Actions\, Gitlab CI\, and other CI systems \([https\://github\.com/ansible\-community/antsibull\-nox/pull/28](https\://github\.com/ansible\-community/antsibull\-nox/pull/28)\)\.
115
+ * For running pylint and mypy\, copy the collection and dependent collections into a new tree\. This allows the collection repository to be checked out outside an approriate tree structure\, and it also allows the dependent collections to live in another tree structure\, as long as <code>ansible\-galaxy collection list</code> can find them \([https\://github\.com/ansible\-community/antsibull\-nox/pull/1](https\://github\.com/ansible\-community/antsibull\-nox/pull/1)\)\.
116
+ * When a collection checkout is not part of an <code>ansible\_collections</code> tree\, look for collections in adjacent directories of the form <code>\<namespace\>\.\<name\></code> that match the containing collection\'s FQCN \([https\://github\.com/ansible\-community/antsibull\-nox/issues/6](https\://github\.com/ansible\-community/antsibull\-nox/issues/6)\, [https\://github\.com/ansible\-community/antsibull\-nox/pull/22](https\://github\.com/ansible\-community/antsibull\-nox/pull/22)\)\.
117
+ * antsibull\-nox now depends on antsibull\-fileutils \>\= 1\.2\.0 \([https\://github\.com/ansible\-community/antsibull\-nox/pull/1](https\://github\.com/ansible\-community/antsibull\-nox/pull/1)\)\.
118
+
119
+ <a id="breaking-changes--porting-guide"></a>
120
+ ### Breaking Changes / Porting Guide
121
+
122
+ * 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
+
124
+ <a id="bugfixes-1"></a>
125
+ ### Bugfixes
126
+
127
+ * 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)\)\.
128
+
129
+ <a id="v0-0-1"></a>
130
+ ## v0\.0\.1
131
+
132
+ <a id="release-summary-3"></a>
133
+ ### Release Summary
134
+
135
+ Initial alpha release\.
@@ -0,0 +1,119 @@
1
+ ==================================
2
+ Antsibull Nox Helper Release Notes
3
+ ==================================
4
+
5
+ .. contents:: Topics
6
+
7
+ v0.3.0
8
+ ======
9
+
10
+ Release Summary
11
+ ---------------
12
+
13
+ Feature release that is stabilizing the API.
14
+
15
+ All noxfiles and configs using this version should still work with antsibull-nox 1.0.0,
16
+ unless a critical problem is found that cannot be solved in any other way.
17
+
18
+ Minor Changes
19
+ -------------
20
+
21
+ - Add ``antsibull-nox init`` command that creates a ``noxfile.py`` and ``antsibull-nox.tomll`` to get started (https://github.com/ansible-community/antsibull-nox/pull/58).
22
+ - Add ``callback_before`` and ``callback_after`` parameters to ``antsibull_nox.add_ansible_test_session()`` (https://github.com/ansible-community/antsibull-nox/pull/63).
23
+ - Add a ``antsibull-nox`` CLI tool with a subcommand ``lint-config`` that lints ``noxfile.py`` and the ``antsibull-nox.toml`` config file (https://github.com/ansible-community/antsibull-nox/pull/56).
24
+ - Add a session for linting the antsibull-nox configuration to ``lint`` (https://github.com/ansible-community/antsibull-nox/pull/56).
25
+ - Add new options ``skip_tests``, ``allow_disabled``, and ``enable_optional_errors`` for ansible-test sanity sessions (https://github.com/ansible-community/antsibull-nox/pull/61).
26
+ - Allow to disable coverage upload for specific integration test jobs in shared workflow with ``has-coverage=false`` in extra data (https://github.com/ansible-community/antsibull-nox/pull/64).
27
+ - Ensure that Galaxy importer's output is actually collapsed on GHA (https://github.com/ansible-community/antsibull-nox/pull/67).
28
+ - Never show Galaxy importer output unless it can be collapsed, verbosity is enabled, or a new config option ``galaxy_importer_always_show_logs`` is set to ``true`` (https://github.com/ansible-community/antsibull-nox/pull/67).
29
+ - Skip symlinks that do not point to files in ``license-check`` and ``yamllint`` sessions (https://github.com/ansible-community/antsibull-nox/pull/61).
30
+ - Update shared workflow to use a ``display-name`` and ``gha-container`` extra data (https://github.com/ansible-community/antsibull-nox/pull/63).
31
+
32
+ Removed Features (previously deprecated)
33
+ ----------------------------------------
34
+
35
+ - Removed all deprecated functions from ``antsibull_nox.**`` that generate sessions. The only functions left that are public API are ``antsibull_nox.load_antsibull_nox_toml()``, ``antsibull_nox.add_ansible_test_session()``, and ``antsibull_nox.sessions.prepare_collections()`` (https://github.com/ansible-community/antsibull-nox/pull/54).
36
+
37
+ Bugfixes
38
+ --------
39
+
40
+ - Action groups extra test no longer fails if ``action_groups`` does not exist in ``meta/runtime.yml``. It can now be used to ensure that there is no action group present in ``meta/runtime.yml`` (https://github.com/ansible-community/antsibull-nox/pull/60).
41
+ - Do not fail when trying to install an empty list of packages when ``run_reuse=false`` (https://github.com/ansible-community/antsibull-nox/pull/65).
42
+ - Make sure that ``extra_code_files`` is considered for ``black`` when ``run_black_modules=false`` (https://github.com/ansible-community/antsibull-nox/pull/59).
43
+ - Make sure to flush stdout after calling ``print()`` (https://github.com/ansible-community/antsibull-nox/pull/67).
44
+
45
+ v0.2.0
46
+ ======
47
+
48
+ Release Summary
49
+ ---------------
50
+
51
+ Major extension and overhaul with many breaking changes. The next minor release is expected to bring more stabilization.
52
+
53
+ Major Changes
54
+ -------------
55
+
56
+ - There is now a new function ``antsibull_nox.load_antsibull_nox_toml()`` which loads ``antsibull-nox.toml`` and creates configuration and sessions from it. Calling other functionality from ``antsibull_nox`` in ``noxfile.py`` is only necessary for creating own specialized sessions, or ansible-test sessions that cannot be created with the ``antsibull_nox.add_all_ansible_test_*_test_sessions*()`` type functions (https://github.com/ansible-community/antsibull-nox/pull/50, https://github.com/ansible-community/antsibull-nox/issues/34).
57
+
58
+ Minor Changes
59
+ -------------
60
+
61
+ - Add descriptions to generated sessions that are shown when running ``nox --list`` (https://github.com/ansible-community/antsibull-nox/pull/31).
62
+ - Add function ``add_matrix_generator`` which allows to generate matrixes for CI systems for ansible-test runs (https://github.com/ansible-community/antsibull-nox/pull/32).
63
+ - Add several new functions to add ansible-test runs (https://github.com/ansible-community/antsibull-nox/issues/5, https://github.com/ansible-community/antsibull-nox/pull/32, https://github.com/ansible-community/antsibull-nox/pull/41, https://github.com/ansible-community/antsibull-nox/pull/45).
64
+ - Add shared workflow for running ansible-test from nox and generating the CI matrix from nox as well (https://github.com/ansible-community/antsibull-nox/issues/35, https://github.com/ansible-community/antsibull-nox/pull/37, https://github.com/ansible-community/antsibull-nox/pull/38, https://github.com/ansible-community/antsibull-nox/pull/48, https://github.com/ansible-community/antsibull-nox/pull/53).
65
+ - Allow to add ``yamllint`` session to ``lint`` meta-session that checks YAML files, and YAML content embedded in plugins and sidecar docs (https://github.com/ansible-community/antsibull-nox/pull/42).
66
+ - Allow to add ansible-lint session (https://github.com/ansible-community/antsibull-nox/issues/40, https://github.com/ansible-community/antsibull-nox/pull/49).
67
+ - Allow to disable using installed collections that are not checked out next to the current one by setting the environment variable ``ANTSIBULL_NOX_IGNORE_INSTALLED_COLLECTIONS`` to ``true`` (https://github.com/ansible-community/antsibull-nox/pull/51).
68
+ - Collapse Galaxy importer's output in GitHub Actions (https://github.com/ansible-community/antsibull-nox/pull/46).
69
+ - In the GitHub Action, no longer use installed collections, but only ones that have been checked out next to the current one. This avoids using collections that come with the Ansible community package installed in the default GHA image (https://github.com/ansible-community/antsibull-nox/pull/51).
70
+ - The action allows to install additional Python versions with the new ``extra-python-versions`` option (https://github.com/ansible-community/antsibull-nox/pull/32).
71
+ - The action allows to pass extra commands after ``--`` with the new ``extra-args`` option (https://github.com/ansible-community/antsibull-nox/pull/32).
72
+ - antsibull-nox now automatically installs missing collections. It uses ``.nox/.cache`` to store the collection artifacts and the extracted collections (https://github.com/ansible-community/antsibull-nox/pull/46, https://github.com/ansible-community/antsibull-nox/pull/52, https://github.com/ansible-community/antsibull-nox/issues/7).
73
+ - pydantic is now a required Python dependency of antsibull-nox (https://github.com/ansible-community/antsibull-nox/pull/50).
74
+ - tomli is now a required Python dependency of antsibull-nox for Python versions 3.9 and 3.10 For Python 3.11+, the standard library tomllib will be used (https://github.com/ansible-community/antsibull-nox/pull/50).
75
+
76
+ Deprecated Features
77
+ -------------------
78
+
79
+ - All functions in ``antsibull_nox.**`` are deprecated except ``antsibull_nox.load_antsibull_nox_toml()``, ``antsibull_nox.add_ansible_test_session()``, and ``antsibull_nox.sessions.prepare_collections()``. The other function will still work for the next minor release, but will then be removed. Use ``antsibull-nox.toml`` and ``antsibull_nox.load_antsibull_nox_toml()`` instead (https://github.com/ansible-community/antsibull-nox/pull/50).
80
+
81
+ v0.1.0
82
+ ======
83
+
84
+ Release Summary
85
+ ---------------
86
+
87
+ Feature release.
88
+
89
+ Minor Changes
90
+ -------------
91
+
92
+ - A ``build-import-check`` session that builds and tries to import the collection with Galaxy Importer can be added with ``add_build_import_check()`` (https://github.com/ansible-community/antsibull-nox/issues/15, https://github.com/ansible-community/antsibull-nox/pull/17).
93
+ - A ``docs-check`` session that runs ``antsibull-docs lint-collection-docs`` can be added with ``add_docs_check()`` (https://github.com/ansible-community/antsibull-nox/issues/8, https://github.com/ansible-community/antsibull-nox/pull/14).
94
+ - A ``extra-checks`` session that runs extra checks such as ``no-unwanted-files`` or ``action-groups`` can be added with ``add_extra_checks()`` (https://github.com/ansible-community/antsibull-nox/issues/8, https://github.com/ansible-community/antsibull-nox/pull/14).
95
+ - A ``license-check`` session that runs ``reuse`` and checks for bad licenses can be added with ``add_license_check()`` (https://github.com/ansible-community/antsibull-nox/issues/8, https://github.com/ansible-community/antsibull-nox/pull/14).
96
+ - Allow to decide which sessions should be marked as default and which not (https://github.com/ansible-community/antsibull-nox/issues/18, https://github.com/ansible-community/antsibull-nox/pull/20).
97
+ - Allow to provide ``extra_code_files`` to ``add_lint_sessions()`` (https://github.com/ansible-community/antsibull-nox/pull/14).
98
+ - Check whether we're running in CI using the generic ``$CI`` enviornment variable instead of ``$GITHUB_ACTIONS``. ``$CI`` is set to ``true`` on Github Actions, Gitlab CI, and other CI systems (https://github.com/ansible-community/antsibull-nox/pull/28).
99
+ - For running pylint and mypy, copy the collection and dependent collections into a new tree. This allows the collection repository to be checked out outside an approriate tree structure, and it also allows the dependent collections to live in another tree structure, as long as ``ansible-galaxy collection list`` can find them (https://github.com/ansible-community/antsibull-nox/pull/1).
100
+ - When a collection checkout is not part of an ``ansible_collections`` tree, look for collections in adjacent directories of the form ``<namespace>.<name>`` that match the containing collection's FQCN (https://github.com/ansible-community/antsibull-nox/issues/6, https://github.com/ansible-community/antsibull-nox/pull/22).
101
+ - antsibull-nox now depends on antsibull-fileutils >= 1.2.0 (https://github.com/ansible-community/antsibull-nox/pull/1).
102
+
103
+ Breaking Changes / Porting Guide
104
+ --------------------------------
105
+
106
+ - The nox workflow now by default runs all sessions, unless restricted with the ``sessions`` parameter (https://github.com/ansible-community/antsibull-nox/pull/14).
107
+
108
+ Bugfixes
109
+ --------
110
+
111
+ - Make sure that black in CI checks formatting instead of just reformatting (https://github.com/ansible-community/antsibull-nox/pull/14).
112
+
113
+ v0.0.1
114
+ ======
115
+
116
+ Release Summary
117
+ ---------------
118
+
119
+ Initial alpha release.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: antsibull-nox
3
- Version: 0.1.0
3
+ Version: 0.3.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/
@@ -11,7 +11,7 @@ Author-email: Felix Fontein <felix@fontein.de>, Toshio Kuratomi <a.badger@gmail.
11
11
  Maintainer-email: Felix Fontein <felix@fontein.de>, Maxwell G <maxwell@gtmx.me>
12
12
  License-Expression: GPL-3.0-or-later
13
13
  License-File: LICENSES/GPL-3.0-or-later.txt
14
- Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Development Status :: 4 - Beta
15
15
  Classifier: Framework :: Ansible
16
16
  Classifier: Intended Audience :: Developers
17
17
  Classifier: Programming Language :: Python :: 3
@@ -25,8 +25,10 @@ Requires-Python: >=3.9.0
25
25
  Requires-Dist: antsibull-fileutils<2.0.0,>=1.2.0
26
26
  Requires-Dist: nox>=2025.2.9
27
27
  Requires-Dist: packaging
28
+ Requires-Dist: pydantic~=2.0
28
29
  Requires-Dist: pyyaml
29
30
  Requires-Dist: semantic-version
31
+ Requires-Dist: tomli; python_version < '3.11'
30
32
  Provides-Extra: codeqa
31
33
  Requires-Dist: antsibull-changelog; extra == 'codeqa'
32
34
  Requires-Dist: flake8>=3.8.0; extra == 'codeqa'
@@ -14,6 +14,17 @@ inputs:
14
14
  Python-version to use. We recommend to stick to the default.
15
15
  required: false
16
16
  default: "3.13"
17
+ extra-python-versions:
18
+ description: |-
19
+ Newline-separated list of Python versions to install as well.
20
+ Should be used if other Python versions are needed.
21
+ required: false
22
+ default: ""
23
+ extra-args:
24
+ description: |-
25
+ Additional arguments to pass to the nox run after `--`.
26
+ required: false
27
+ default: ""
17
28
  sessions:
18
29
  description: |-
19
30
  Nox sessions to run. By default, all sessions are run.
@@ -25,6 +36,10 @@ inputs:
25
36
  Should be the directory where the collection's `galaxy.yml` is in, and where the `noxfile.py` is in.
26
37
  required: false
27
38
  default: .
39
+ outputs:
40
+ run-nox:
41
+ description: Output of the 'run nox' step.
42
+ value: ${{ toJSON(steps.run-nox.outputs) }}
28
43
 
29
44
  runs:
30
45
  using: composite
@@ -33,7 +48,9 @@ runs:
33
48
  uses: actions/setup-python@v5
34
49
  id: python
35
50
  with:
36
- python-version: "${{ inputs.python-version }}"
51
+ python-version: |-
52
+ ${{ inputs.extra-python-versions }}
53
+ ${{ inputs.python-version }}
37
54
 
38
55
  - name: "Install nox and antsibull-nox"
39
56
  run: |
@@ -45,7 +62,7 @@ runs:
45
62
  - name: "Set up nox environments"
46
63
  run: |
47
64
  echo "::group::Set up nox environments"
48
- nox --verbose --install-only ${{ inputs.sessions && '--sessions' || '' }} ${{ inputs.sessions }}
65
+ nox --verbose --install-only${{ inputs.sessions && ' --sessions ' || '' }}${{ inputs.sessions }} 2>&1
49
66
  echo "::endgroup::"
50
67
  env:
51
68
  FORCE_COLOR: "1"
@@ -53,9 +70,11 @@ runs:
53
70
  working-directory: "${{ inputs.working-directory }}"
54
71
 
55
72
  - name: "Run nox"
73
+ id: run-nox
56
74
  run: |
57
- nox --verbose --reuse-existing-virtualenvs --no-install ${{ inputs.sessions && '--sessions' || '' }} ${{ inputs.sessions }}
75
+ nox --verbose --reuse-existing-virtualenvs --no-install${{ inputs.sessions && ' --sessions ' || '' }}${{ inputs.sessions }}${{ inputs.extra-args && ' -- ' || '' }}${{ inputs.extra-args }} 2>&1
58
76
  env:
59
77
  FORCE_COLOR: "1"
78
+ ANTSIBULL_NOX_IGNORE_INSTALLED_COLLECTIONS: "true"
60
79
  shell: bash
61
80
  working-directory: "${{ inputs.working-directory }}"