antsibull-nox 0.0.1__tar.gz → 0.2.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 (76) hide show
  1. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.github/workflows/nox.yml +16 -20
  2. antsibull_nox-0.2.0/.github/workflows/reusable-nox-matrix.yml +162 -0
  3. antsibull_nox-0.2.0/.github/workflows/test-gh-action.yml +33 -0
  4. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.pylintrc.automated +2 -0
  5. antsibull_nox-0.2.0/CHANGELOG.md +92 -0
  6. antsibull_nox-0.2.0/CHANGELOG.rst +81 -0
  7. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/PKG-INFO +14 -4
  8. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/README.md +10 -2
  9. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/REUSE.toml +3 -0
  10. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/action.yml +28 -5
  11. antsibull_nox-0.2.0/changelogs/changelog.yaml +121 -0
  12. antsibull_nox-0.2.0/codecov.yml +23 -0
  13. antsibull_nox-0.2.0/docs/changelog.md +77 -0
  14. antsibull_nox-0.2.0/docs/config-file.md +844 -0
  15. antsibull_nox-0.2.0/docs/getting-started.md +172 -0
  16. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/docs/index.md +9 -6
  17. antsibull_nox-0.2.0/docs/introduction.md +35 -0
  18. antsibull_nox-0.2.0/docs/nox-in-ci.md +97 -0
  19. antsibull_nox-0.2.0/docs/reference.md +1049 -0
  20. antsibull_nox-0.2.0/docs/troubleshooting.md +42 -0
  21. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/mkdocs.yml +9 -3
  22. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/noxfile.py +49 -5
  23. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/pyproject.toml +12 -3
  24. antsibull_nox-0.2.0/src/antsibull_nox/__init__.py +80 -0
  25. antsibull_nox-0.2.0/src/antsibull_nox/ansible.py +260 -0
  26. antsibull_nox-0.2.0/src/antsibull_nox/collection/__init__.py +56 -0
  27. antsibull_nox-0.2.0/src/antsibull_nox/collection/data.py +106 -0
  28. antsibull_nox-0.2.0/src/antsibull_nox/collection/extract.py +23 -0
  29. antsibull_nox-0.2.0/src/antsibull_nox/collection/install.py +523 -0
  30. antsibull_nox-0.2.0/src/antsibull_nox/collection/search.py +456 -0
  31. antsibull_nox-0.2.0/src/antsibull_nox/config.py +332 -0
  32. antsibull_nox-0.2.0/src/antsibull_nox/data/action-groups.py +199 -0
  33. antsibull_nox-0.2.0/src/antsibull_nox/data/antsibull_nox_data_util.py +91 -0
  34. antsibull_nox-0.2.0/src/antsibull_nox/data/license-check.py +144 -0
  35. antsibull_nox-0.2.0/src/antsibull_nox/data/license-check.py.license +3 -0
  36. antsibull_nox-0.2.0/src/antsibull_nox/data/no-unwanted-files.py +123 -0
  37. antsibull_nox-0.2.0/src/antsibull_nox/data/plugin-yamllint.py +244 -0
  38. antsibull_nox-0.2.0/src/antsibull_nox/data_util.py +38 -0
  39. antsibull_nox-0.2.0/src/antsibull_nox/interpret_config.py +235 -0
  40. antsibull_nox-0.2.0/src/antsibull_nox/paths.py +220 -0
  41. antsibull_nox-0.2.0/src/antsibull_nox/python.py +81 -0
  42. antsibull_nox-0.2.0/src/antsibull_nox/sessions.py +1712 -0
  43. antsibull_nox-0.2.0/src/antsibull_nox/utils.py +85 -0
  44. antsibull_nox-0.2.0/tests/needs-network/test_ansible_core.py +66 -0
  45. antsibull_nox-0.0.1/codecov.yml → antsibull_nox-0.2.0/tests/test-collection/galaxy.yml +2 -5
  46. antsibull_nox-0.2.0/tests/test-collection/noxfile.py +34 -0
  47. antsibull_nox-0.2.0/tests/test-collection/plugins/modules/test.py +39 -0
  48. antsibull_nox-0.2.0/tests/unit/__init__.py +0 -0
  49. antsibull_nox-0.2.0/tests/unit/test_ansible.py +309 -0
  50. antsibull_nox-0.2.0/tests/unit/test_collection.py +948 -0
  51. antsibull_nox-0.2.0/tests/unit/test_python.py +60 -0
  52. antsibull_nox-0.2.0/tests/unit/test_utils.py +90 -0
  53. antsibull_nox-0.0.1/src/antsibull_nox/__init__.py → antsibull_nox-0.2.0/tests/unit/utils.py +14 -4
  54. antsibull_nox-0.0.1/CHANGELOG.md +0 -14
  55. antsibull_nox-0.0.1/CHANGELOG.rst +0 -13
  56. antsibull_nox-0.0.1/changelogs/changelog.yaml +0 -9
  57. antsibull_nox-0.0.1/docs/changelog.md +0 -9
  58. antsibull_nox-0.0.1/src/antsibull_nox/sessions.py +0 -491
  59. antsibull_nox-0.0.1/tests/test_dummy.py +0 -19
  60. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.flake8 +0 -0
  61. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.github/dependabot.yml +0 -0
  62. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.github/patchback.yml +0 -0
  63. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.gitignore +0 -0
  64. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/.readthedocs.yml +0 -0
  65. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/CHANGELOG.md.license +0 -0
  66. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/CHANGELOG.rst.license +0 -0
  67. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/LICENSE +0 -0
  68. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/LICENSES/GPL-3.0-or-later.txt +0 -0
  69. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/changelogs/changelog.yaml.license +0 -0
  70. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/changelogs/config.yaml +0 -0
  71. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/changelogs/fragments/.keep +0 -0
  72. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/docs/changelog.md.license +0 -0
  73. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/docs/community.md +0 -0
  74. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/docs-requirements.txt +0 -0
  75. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/src/antsibull_nox/py.typed +0 -0
  76. {antsibull_nox-0.0.1 → antsibull_nox-0.2.0}/tests/.keep +0 -0
@@ -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: nox
8
8
  'on':
@@ -21,20 +21,25 @@ env:
21
21
  jobs:
22
22
  nox:
23
23
  runs-on: ubuntu-latest
24
- defaults:
25
- run:
26
- working-directory: antsibull-nox
27
24
  strategy:
28
25
  fail-fast: false
29
26
  matrix:
30
27
  include:
31
28
  - session: test
32
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"
33
37
  codecov: true
34
38
  packages: ""
35
39
 
36
40
  - session: lint
37
41
  python-versions: "3.13"
42
+ force-python: "3.13"
38
43
  codecov: false
39
44
  packages: ""
40
45
  name: "Run nox ${{ matrix.session }} session"
@@ -58,21 +63,12 @@ jobs:
58
63
  uses: wntrblm/nox@2025.02.09
59
64
  with:
60
65
  python-versions: "${{ matrix.python-versions }}"
61
- - name: Set up nox environments
62
- run: |
63
- nox -v -e "${{ matrix.session }}" ${{ matrix.codecov && 'coverage' || '' }} --install-only
64
- - name: "Run nox -e ${{ matrix.session }}"
65
- run: |
66
- nox -v -e "${{ matrix.session }}" --reuse-existing-virtualenvs --no-install
67
- - name: Report coverage
68
- if: ${{ matrix.codecov }}
69
- run: |
70
- nox -v -e coverage --reuse-existing-virtualenvs --no-install
71
- - name: Upload coverage
72
- if: ${{ matrix.codecov }}
73
- uses: codecov/codecov-action@v5
66
+ - name: Run nox
67
+ uses: ansible-community/github-action-run-nox@v1
74
68
  with:
69
+ sessions: ${{ matrix.session }}
70
+ force-pythons: ${{ matrix.force-python }}
75
71
  working-directory: antsibull-nox
76
- name: "${{ matrix.session }}"
77
- env:
78
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
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: 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.ansible-core }})
75
+ needs:
76
+ - create-matrixes
77
+ strategy:
78
+ matrix:
79
+ include: >-
80
+ ${{ fromJson(needs.create-matrixes.outputs.units-matrix || '[{"skip": true}]') }}
81
+ runs-on: 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.ansible-core }}+py${{ matrix.test-python }}+${{ matrix.test-container }})
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: 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
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 }}
@@ -0,0 +1,33 @@
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: test-gh-action
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
+ test-gh-action:
23
+ runs-on: ubuntu-latest
24
+ name: "Run nox"
25
+ steps:
26
+ - name: Check out antsibull-nox
27
+ uses: actions/checkout@v4
28
+ with:
29
+ persist-credentials: false
30
+ - name: Run nox action in subdirectory
31
+ uses: ./
32
+ with:
33
+ working-directory: tests/test-collection/
@@ -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,92 @@
1
+ # Antsibull Nox Helper Release Notes
2
+
3
+ **Topics**
4
+
5
+ - <a href="#v0-2-0">v0\.2\.0</a>
6
+ - <a href="#release-summary">Release Summary</a>
7
+ - <a href="#major-changes">Major Changes</a>
8
+ - <a href="#minor-changes">Minor Changes</a>
9
+ - <a href="#deprecated-features">Deprecated Features</a>
10
+ - <a href="#v0-1-0">v0\.1\.0</a>
11
+ - <a href="#release-summary-1">Release Summary</a>
12
+ - <a href="#minor-changes-1">Minor Changes</a>
13
+ - <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
14
+ - <a href="#bugfixes">Bugfixes</a>
15
+ - <a href="#v0-0-1">v0\.0\.1</a>
16
+ - <a href="#release-summary-2">Release Summary</a>
17
+
18
+ <a id="v0-2-0"></a>
19
+ ## v0\.2\.0
20
+
21
+ <a id="release-summary"></a>
22
+ ### Release Summary
23
+
24
+ Major extension and overhaul with many breaking changes\. The next minor release is expected to bring more stabilization\.
25
+
26
+ <a id="major-changes"></a>
27
+ ### Major Changes
28
+
29
+ * 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)\)\.
30
+
31
+ <a id="minor-changes"></a>
32
+ ### Minor Changes
33
+
34
+ * 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)\)\.
35
+ * 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)\)\.
36
+ * 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)\)\.
37
+ * 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)\)\.
38
+ * 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)\)\.
39
+ * 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)\)\.
40
+ * 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)\)\.
41
+ * 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)\)\.
42
+ * 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)\)\.
43
+ * 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)\)\.
44
+ * 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)\)\.
45
+ * 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)\)\.
46
+ * 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)\)\.
47
+ * 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)\)\.
48
+
49
+ <a id="deprecated-features"></a>
50
+ ### Deprecated Features
51
+
52
+ * 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)\)\.
53
+
54
+ <a id="v0-1-0"></a>
55
+ ## v0\.1\.0
56
+
57
+ <a id="release-summary-1"></a>
58
+ ### Release Summary
59
+
60
+ Feature release\.
61
+
62
+ <a id="minor-changes-1"></a>
63
+ ### Minor Changes
64
+
65
+ * 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)\)\.
66
+ * 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)\)\.
67
+ * 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)\)\.
68
+ * 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)\)\.
69
+ * 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)\)\.
70
+ * 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)\)\.
71
+ * 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)\)\.
72
+ * 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)\)\.
73
+ * 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)\)\.
74
+ * 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)\)\.
75
+
76
+ <a id="breaking-changes--porting-guide"></a>
77
+ ### Breaking Changes / Porting Guide
78
+
79
+ * 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)\)\.
80
+
81
+ <a id="bugfixes"></a>
82
+ ### Bugfixes
83
+
84
+ * 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)\)\.
85
+
86
+ <a id="v0-0-1"></a>
87
+ ## v0\.0\.1
88
+
89
+ <a id="release-summary-2"></a>
90
+ ### Release Summary
91
+
92
+ Initial alpha release\.
@@ -0,0 +1,81 @@
1
+ ==================================
2
+ Antsibull Nox Helper Release Notes
3
+ ==================================
4
+
5
+ .. contents:: Topics
6
+
7
+ v0.2.0
8
+ ======
9
+
10
+ Release Summary
11
+ ---------------
12
+
13
+ Major extension and overhaul with many breaking changes. The next minor release is expected to bring more stabilization.
14
+
15
+ Major Changes
16
+ -------------
17
+
18
+ - 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).
19
+
20
+ Minor Changes
21
+ -------------
22
+
23
+ - Add descriptions to generated sessions that are shown when running ``nox --list`` (https://github.com/ansible-community/antsibull-nox/pull/31).
24
+ - 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).
25
+ - 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).
26
+ - 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).
27
+ - 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).
28
+ - Allow to add ansible-lint session (https://github.com/ansible-community/antsibull-nox/issues/40, https://github.com/ansible-community/antsibull-nox/pull/49).
29
+ - 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).
30
+ - Collapse Galaxy importer's output in GitHub Actions (https://github.com/ansible-community/antsibull-nox/pull/46).
31
+ - 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).
32
+ - The action allows to install additional Python versions with the new ``extra-python-versions`` option (https://github.com/ansible-community/antsibull-nox/pull/32).
33
+ - The action allows to pass extra commands after ``--`` with the new ``extra-args`` option (https://github.com/ansible-community/antsibull-nox/pull/32).
34
+ - 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).
35
+ - pydantic is now a required Python dependency of antsibull-nox (https://github.com/ansible-community/antsibull-nox/pull/50).
36
+ - 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).
37
+
38
+ Deprecated Features
39
+ -------------------
40
+
41
+ - 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).
42
+
43
+ v0.1.0
44
+ ======
45
+
46
+ Release Summary
47
+ ---------------
48
+
49
+ Feature release.
50
+
51
+ Minor Changes
52
+ -------------
53
+
54
+ - 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).
55
+ - 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).
56
+ - 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).
57
+ - 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).
58
+ - 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).
59
+ - Allow to provide ``extra_code_files`` to ``add_lint_sessions()`` (https://github.com/ansible-community/antsibull-nox/pull/14).
60
+ - 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).
61
+ - 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).
62
+ - 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).
63
+ - antsibull-nox now depends on antsibull-fileutils >= 1.2.0 (https://github.com/ansible-community/antsibull-nox/pull/1).
64
+
65
+ Breaking Changes / Porting Guide
66
+ --------------------------------
67
+
68
+ - The nox workflow now by default runs all sessions, unless restricted with the ``sessions`` parameter (https://github.com/ansible-community/antsibull-nox/pull/14).
69
+
70
+ Bugfixes
71
+ --------
72
+
73
+ - Make sure that black in CI checks formatting instead of just reformatting (https://github.com/ansible-community/antsibull-nox/pull/14).
74
+
75
+ v0.0.1
76
+ ======
77
+
78
+ Release Summary
79
+ ---------------
80
+
81
+ Initial alpha release.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: antsibull-nox
3
- Version: 0.0.1
3
+ Version: 0.2.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/
@@ -22,11 +22,13 @@ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: Typing :: Typed
24
24
  Requires-Python: >=3.9.0
25
- Requires-Dist: antsibull-fileutils<2.0.0,>=1.0.0
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'
@@ -67,12 +69,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
67
69
  -->
68
70
 
69
71
  # antsibull-nox -- Antsibull Nox Helper
72
+ [![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://ansible.readthedocs.io/projects/antsibull-nox/)
70
73
  [![Discuss on Matrix at #antsibull:ansible.com](https://img.shields.io/matrix/antsibull:ansible.com.svg?server_fqdn=ansible-accounts.ems.host&label=Discuss%20on%20Matrix%20at%20%23antsibull:ansible.com&logo=matrix)](https://matrix.to/#/#antsibull:ansible.com)
71
74
  [![Nox badge](https://github.com/ansible-community/antsibull-nox/actions/workflows/nox.yml/badge.svg)](https://github.com/ansible-community/antsibull-nox/actions?query=workflow%3A%22nox%22+branch%3Amain)
72
75
  [![Codecov badge](https://img.shields.io/codecov/c/github/ansible-community/antsibull-nox)](https://codecov.io/gh/ansible-community/antsibull-nox)
73
76
  [![REUSE status](https://api.reuse.software/badge/github.com/ansible-community/antsibull-nox)](https://api.reuse.software/info/github.com/ansible-community/antsibull-nox)
74
77
 
75
78
  A [nox](https://nox.thea.codes/en/stable/) helper for Ansible collections.
79
+ Please check out the [documentation](https://ansible.readthedocs.io/projects/antsibull-nox/) for more information.
76
80
 
77
81
  antsibull-nox is covered by the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
78
82
 
@@ -86,6 +90,12 @@ It can be installed with pip:
86
90
 
87
91
  pip install antsibull-nox
88
92
 
93
+ ## Versioning and compatibility
94
+
95
+ From version 1.0.0 on, antsibull-nox sticks to semantic versioning and aims at providing no backwards compatibility breaking changes [**to the documented API**](https://ansible.readthedocs.io/projects/antsibull-nox/reference/) during a major release cycle. We might make exceptions from this in case of security fixes for vulnerabilities that are severe enough.
96
+
97
+ Interfaces and functions that are not [documented in the API reference](https://ansible.readthedocs.io/projects/antsibull-nox/reference/) are exempt from this and might break even in bugfix releases!
98
+
89
99
  ## Development
90
100
 
91
101
  Install and run `nox` to run all tests. That's it for simple contributions!
@@ -139,5 +149,5 @@ General Public License v3 or, at your option, later. See
139
149
  [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-community/antsibull-nox/tree/main/LICENSE)
140
150
  for a copy of the license.
141
151
 
142
- The repository follows the [REUSE Specification](https://reuse.software/spec/) for declaring copyright and
143
- licensing information. The only exception are changelog fragments in ``changelog/fragments/``.
152
+ The repository follows the [REUSE Specification](https://reuse.software/spec/)
153
+ for declaring copyright and licensing information.
@@ -5,12 +5,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
5
5
  -->
6
6
 
7
7
  # antsibull-nox -- Antsibull Nox Helper
8
+ [![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://ansible.readthedocs.io/projects/antsibull-nox/)
8
9
  [![Discuss on Matrix at #antsibull:ansible.com](https://img.shields.io/matrix/antsibull:ansible.com.svg?server_fqdn=ansible-accounts.ems.host&label=Discuss%20on%20Matrix%20at%20%23antsibull:ansible.com&logo=matrix)](https://matrix.to/#/#antsibull:ansible.com)
9
10
  [![Nox badge](https://github.com/ansible-community/antsibull-nox/actions/workflows/nox.yml/badge.svg)](https://github.com/ansible-community/antsibull-nox/actions?query=workflow%3A%22nox%22+branch%3Amain)
10
11
  [![Codecov badge](https://img.shields.io/codecov/c/github/ansible-community/antsibull-nox)](https://codecov.io/gh/ansible-community/antsibull-nox)
11
12
  [![REUSE status](https://api.reuse.software/badge/github.com/ansible-community/antsibull-nox)](https://api.reuse.software/info/github.com/ansible-community/antsibull-nox)
12
13
 
13
14
  A [nox](https://nox.thea.codes/en/stable/) helper for Ansible collections.
15
+ Please check out the [documentation](https://ansible.readthedocs.io/projects/antsibull-nox/) for more information.
14
16
 
15
17
  antsibull-nox is covered by the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
16
18
 
@@ -24,6 +26,12 @@ It can be installed with pip:
24
26
 
25
27
  pip install antsibull-nox
26
28
 
29
+ ## Versioning and compatibility
30
+
31
+ From version 1.0.0 on, antsibull-nox sticks to semantic versioning and aims at providing no backwards compatibility breaking changes [**to the documented API**](https://ansible.readthedocs.io/projects/antsibull-nox/reference/) during a major release cycle. We might make exceptions from this in case of security fixes for vulnerabilities that are severe enough.
32
+
33
+ Interfaces and functions that are not [documented in the API reference](https://ansible.readthedocs.io/projects/antsibull-nox/reference/) are exempt from this and might break even in bugfix releases!
34
+
27
35
  ## Development
28
36
 
29
37
  Install and run `nox` to run all tests. That's it for simple contributions!
@@ -77,5 +85,5 @@ General Public License v3 or, at your option, later. See
77
85
  [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-community/antsibull-nox/tree/main/LICENSE)
78
86
  for a copy of the license.
79
87
 
80
- The repository follows the [REUSE Specification](https://reuse.software/spec/) for declaring copyright and
81
- licensing information. The only exception are changelog fragments in ``changelog/fragments/``.
88
+ The repository follows the [REUSE Specification](https://reuse.software/spec/)
89
+ for declaring copyright and licensing information.
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: Ansible Project
2
+ # SPDX-License-Identifier: GPL-3.0-or-later
3
+ # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
1
4
  version = 1
2
5
 
3
6
  [[annotations]]
@@ -14,17 +14,32 @@ 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
- Nox sessions to run. We recommend to stick to the default.
30
+ Nox sessions to run. By default, all sessions are run.
20
31
  required: false
21
- default: lint
32
+ default: ""
22
33
  working-directory:
23
34
  description: |-
24
35
  The directory where to run the nox sessions in.
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,25 +48,33 @@ 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: |
57
+ echo "::group::Install nox and antsibull-nox"
40
58
  ${{ steps.python.outputs.python-path }} -m pip install ${{ github.action_path }}
59
+ echo "::endgroup::"
41
60
  shell: bash
42
61
 
43
62
  - name: "Set up nox environments"
44
63
  run: |
45
- nox --verbose --install-only --sessions ${{ inputs.sessions }}
64
+ echo "::group::Set up nox environments"
65
+ nox --verbose --install-only${{ inputs.sessions && ' --sessions ' || '' }}${{ inputs.sessions }}
66
+ echo "::endgroup::"
46
67
  env:
47
68
  FORCE_COLOR: "1"
48
69
  shell: bash
49
70
  working-directory: "${{ inputs.working-directory }}"
50
71
 
51
72
  - name: "Run nox"
73
+ id: run-nox
52
74
  run: |
53
- nox --verbose --reuse-existing-virtualenvs --no-install --sessions ${{ inputs.sessions }}
75
+ nox --verbose --reuse-existing-virtualenvs --no-install${{ inputs.sessions && ' --sessions ' || '' }}${{ inputs.sessions }}${{ inputs.extra-args && ' -- ' || '' }}${{ inputs.extra-args }}
54
76
  env:
55
77
  FORCE_COLOR: "1"
78
+ ANTSIBULL_NOX_IGNORE_INSTALLED_COLLECTIONS: "true"
56
79
  shell: bash
57
80
  working-directory: "${{ inputs.working-directory }}"