antsibull-nox 0.0.1__tar.gz → 0.1.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.0.1 → antsibull_nox-0.1.0}/.github/workflows/nox.yml +45 -4
- antsibull_nox-0.1.0/.github/workflows/test-gh-action.yml +33 -0
- antsibull_nox-0.1.0/CHANGELOG.md +51 -0
- antsibull_nox-0.1.0/CHANGELOG.rst +45 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/PKG-INFO +12 -4
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/README.md +10 -2
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/REUSE.toml +3 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/action.yml +8 -4
- antsibull_nox-0.1.0/changelogs/changelog.yaml +56 -0
- antsibull_nox-0.1.0/codecov.yml +23 -0
- antsibull_nox-0.1.0/docs/changelog.md +41 -0
- antsibull_nox-0.1.0/docs/getting-started.md +203 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/docs/index.md +6 -6
- antsibull_nox-0.1.0/docs/nox-in-ci.md +63 -0
- antsibull_nox-0.1.0/docs/reference.md +624 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/mkdocs.yml +5 -2
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/noxfile.py +48 -4
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/pyproject.toml +1 -1
- antsibull_nox-0.1.0/src/antsibull_nox/__init__.py +33 -0
- antsibull_nox-0.1.0/src/antsibull_nox/collection.py +545 -0
- antsibull_nox-0.1.0/src/antsibull_nox/data/action-groups.py +199 -0
- antsibull_nox-0.1.0/src/antsibull_nox/data/license-check.py +144 -0
- antsibull_nox-0.1.0/src/antsibull_nox/data/license-check.py.license +3 -0
- antsibull_nox-0.1.0/src/antsibull_nox/data/no-unwanted-files.py +119 -0
- antsibull_nox-0.1.0/src/antsibull_nox/data_util.py +115 -0
- antsibull_nox-0.1.0/src/antsibull_nox/paths.py +201 -0
- antsibull_nox-0.1.0/src/antsibull_nox/sessions.py +840 -0
- antsibull_nox-0.0.1/codecov.yml → antsibull_nox-0.1.0/tests/test-collection/galaxy.yml +2 -5
- antsibull_nox-0.1.0/tests/test-collection/noxfile.py +34 -0
- antsibull_nox-0.1.0/tests/test-collection/plugins/modules/test.py +39 -0
- antsibull_nox-0.1.0/tests/unit/test_collection.py +895 -0
- antsibull_nox-0.0.1/CHANGELOG.md +0 -14
- antsibull_nox-0.0.1/CHANGELOG.rst +0 -13
- antsibull_nox-0.0.1/changelogs/changelog.yaml +0 -9
- antsibull_nox-0.0.1/docs/changelog.md +0 -9
- antsibull_nox-0.0.1/src/antsibull_nox/__init__.py +0 -17
- antsibull_nox-0.0.1/src/antsibull_nox/sessions.py +0 -491
- antsibull_nox-0.0.1/tests/test_dummy.py +0 -19
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.flake8 +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.github/dependabot.yml +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.github/patchback.yml +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.gitignore +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.pylintrc.automated +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/.readthedocs.yml +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/CHANGELOG.md.license +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/CHANGELOG.rst.license +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/LICENSE +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/LICENSES/GPL-3.0-or-later.txt +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/changelogs/changelog.yaml.license +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/changelogs/config.yaml +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/changelogs/fragments/.keep +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/docs/changelog.md.license +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/docs/community.md +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/docs-requirements.txt +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/src/antsibull_nox/py.typed +0 -0
- {antsibull_nox-0.0.1 → antsibull_nox-0.1.0}/tests/.keep +0 -0
@@ -33,6 +33,11 @@ jobs:
|
|
33
33
|
codecov: true
|
34
34
|
packages: ""
|
35
35
|
|
36
|
+
- session: integration
|
37
|
+
python-versions: "3.13"
|
38
|
+
codecov: true
|
39
|
+
packages: ""
|
40
|
+
|
36
41
|
- session: lint
|
37
42
|
python-versions: "3.13"
|
38
43
|
codecov: false
|
@@ -54,10 +59,23 @@ jobs:
|
|
54
59
|
if: "matrix.packages != ''"
|
55
60
|
run: |
|
56
61
|
sudo apt-get install -y ${{ matrix.packages }}
|
57
|
-
- name:
|
58
|
-
|
62
|
+
- name: Work around limitations of GH's toy language for expressions
|
63
|
+
env:
|
64
|
+
PYTHON_VERSIONS: "${{ matrix.python-versions }}"
|
65
|
+
id: python-versions
|
66
|
+
run: |
|
67
|
+
echo "versions<<EOF" >> ${GITHUB_OUTPUT}
|
68
|
+
echo "${PYTHON_VERSIONS}" | sed -e 's/, */\n/g' >> ${GITHUB_OUTPUT}
|
69
|
+
echo "EOF" >> ${GITHUB_OUTPUT}
|
70
|
+
- name: Setup Python
|
71
|
+
uses: actions/setup-python@v5
|
72
|
+
id: python
|
59
73
|
with:
|
60
|
-
python-
|
74
|
+
python-version: "${{ steps.python-versions.outputs.versions }}"
|
75
|
+
- name: "Install nox"
|
76
|
+
run: |
|
77
|
+
${{ steps.python.outputs.python-path }} -m pip install nox
|
78
|
+
shell: bash
|
61
79
|
- name: Set up nox environments
|
62
80
|
run: |
|
63
81
|
nox -v -e "${{ matrix.session }}" ${{ matrix.codecov && 'coverage' || '' }} --install-only
|
@@ -68,8 +86,31 @@ jobs:
|
|
68
86
|
if: ${{ matrix.codecov }}
|
69
87
|
run: |
|
70
88
|
nox -v -e coverage --reuse-existing-virtualenvs --no-install
|
71
|
-
- name: Upload coverage
|
89
|
+
- name: Upload coverage for final step
|
90
|
+
uses: actions/upload-artifact@v4
|
72
91
|
if: ${{ matrix.codecov }}
|
92
|
+
with:
|
93
|
+
name: code-coverage-${{ matrix.session }}
|
94
|
+
path: antsibull-nox/coverage.xml
|
95
|
+
|
96
|
+
upload-coverage:
|
97
|
+
runs-on: ubuntu-latest
|
98
|
+
needs: nox
|
99
|
+
steps:
|
100
|
+
- name: Check out antsibull-nox
|
101
|
+
uses: actions/checkout@v4
|
102
|
+
with:
|
103
|
+
path: antsibull-nox
|
104
|
+
persist-credentials: false
|
105
|
+
- name: Download coverage from previous step
|
106
|
+
uses: actions/download-artifact@v4
|
107
|
+
with:
|
108
|
+
path: antsibull-nox
|
109
|
+
pattern: code-coverage-*
|
110
|
+
- name: List all files
|
111
|
+
run: find .
|
112
|
+
shell: bash
|
113
|
+
- name: Upload coverage
|
73
114
|
uses: codecov/codecov-action@v5
|
74
115
|
with:
|
75
116
|
working-directory: antsibull-nox
|
@@ -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 ${{ matrix.session }} session"
|
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/
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Antsibull Nox Helper Release Notes
|
2
|
+
|
3
|
+
**Topics**
|
4
|
+
|
5
|
+
- <a href="#v0-1-0">v0\.1\.0</a>
|
6
|
+
- <a href="#release-summary">Release Summary</a>
|
7
|
+
- <a href="#minor-changes">Minor Changes</a>
|
8
|
+
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
|
9
|
+
- <a href="#bugfixes">Bugfixes</a>
|
10
|
+
- <a href="#v0-0-1">v0\.0\.1</a>
|
11
|
+
- <a href="#release-summary-1">Release Summary</a>
|
12
|
+
|
13
|
+
<a id="v0-1-0"></a>
|
14
|
+
## v0\.1\.0
|
15
|
+
|
16
|
+
<a id="release-summary"></a>
|
17
|
+
### Release Summary
|
18
|
+
|
19
|
+
Feature release\.
|
20
|
+
|
21
|
+
<a id="minor-changes"></a>
|
22
|
+
### Minor Changes
|
23
|
+
|
24
|
+
* 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)\)\.
|
25
|
+
* 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)\)\.
|
26
|
+
* 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)\)\.
|
27
|
+
* 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)\)\.
|
28
|
+
* 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)\)\.
|
29
|
+
* 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)\)\.
|
30
|
+
* 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)\)\.
|
31
|
+
* 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)\)\.
|
32
|
+
* 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)\)\.
|
33
|
+
* 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)\)\.
|
34
|
+
|
35
|
+
<a id="breaking-changes--porting-guide"></a>
|
36
|
+
### Breaking Changes / Porting Guide
|
37
|
+
|
38
|
+
* 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)\)\.
|
39
|
+
|
40
|
+
<a id="bugfixes"></a>
|
41
|
+
### Bugfixes
|
42
|
+
|
43
|
+
* 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)\)\.
|
44
|
+
|
45
|
+
<a id="v0-0-1"></a>
|
46
|
+
## v0\.0\.1
|
47
|
+
|
48
|
+
<a id="release-summary-1"></a>
|
49
|
+
### Release Summary
|
50
|
+
|
51
|
+
Initial alpha release\.
|
@@ -0,0 +1,45 @@
|
|
1
|
+
==================================
|
2
|
+
Antsibull Nox Helper Release Notes
|
3
|
+
==================================
|
4
|
+
|
5
|
+
.. contents:: Topics
|
6
|
+
|
7
|
+
v0.1.0
|
8
|
+
======
|
9
|
+
|
10
|
+
Release Summary
|
11
|
+
---------------
|
12
|
+
|
13
|
+
Feature release.
|
14
|
+
|
15
|
+
Minor Changes
|
16
|
+
-------------
|
17
|
+
|
18
|
+
- 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).
|
19
|
+
- 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).
|
20
|
+
- 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).
|
21
|
+
- 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).
|
22
|
+
- 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).
|
23
|
+
- Allow to provide ``extra_code_files`` to ``add_lint_sessions()`` (https://github.com/ansible-community/antsibull-nox/pull/14).
|
24
|
+
- 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).
|
25
|
+
- 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).
|
26
|
+
- 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).
|
27
|
+
- antsibull-nox now depends on antsibull-fileutils >= 1.2.0 (https://github.com/ansible-community/antsibull-nox/pull/1).
|
28
|
+
|
29
|
+
Breaking Changes / Porting Guide
|
30
|
+
--------------------------------
|
31
|
+
|
32
|
+
- The nox workflow now by default runs all sessions, unless restricted with the ``sessions`` parameter (https://github.com/ansible-community/antsibull-nox/pull/14).
|
33
|
+
|
34
|
+
Bugfixes
|
35
|
+
--------
|
36
|
+
|
37
|
+
- Make sure that black in CI checks formatting instead of just reformatting (https://github.com/ansible-community/antsibull-nox/pull/14).
|
38
|
+
|
39
|
+
v0.0.1
|
40
|
+
======
|
41
|
+
|
42
|
+
Release Summary
|
43
|
+
---------------
|
44
|
+
|
45
|
+
Initial alpha release.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: antsibull-nox
|
3
|
-
Version: 0.0
|
3
|
+
Version: 0.1.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,7 +22,7 @@ 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.
|
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
28
|
Requires-Dist: pyyaml
|
@@ -67,12 +67,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|
67
67
|
-->
|
68
68
|
|
69
69
|
# antsibull-nox -- Antsibull Nox Helper
|
70
|
+
[](https://ansible.readthedocs.io/projects/antsibull-nox/)
|
70
71
|
[](https://matrix.to/#/#antsibull:ansible.com)
|
71
72
|
[](https://github.com/ansible-community/antsibull-nox/actions?query=workflow%3A%22nox%22+branch%3Amain)
|
72
73
|
[](https://codecov.io/gh/ansible-community/antsibull-nox)
|
73
74
|
[](https://api.reuse.software/info/github.com/ansible-community/antsibull-nox)
|
74
75
|
|
75
76
|
A [nox](https://nox.thea.codes/en/stable/) helper for Ansible collections.
|
77
|
+
Please check out the [documentation](https://ansible.readthedocs.io/projects/antsibull-nox/) for more information.
|
76
78
|
|
77
79
|
antsibull-nox is covered by the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
|
78
80
|
|
@@ -86,6 +88,12 @@ It can be installed with pip:
|
|
86
88
|
|
87
89
|
pip install antsibull-nox
|
88
90
|
|
91
|
+
## Versioning and compatibility
|
92
|
+
|
93
|
+
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.
|
94
|
+
|
95
|
+
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!
|
96
|
+
|
89
97
|
## Development
|
90
98
|
|
91
99
|
Install and run `nox` to run all tests. That's it for simple contributions!
|
@@ -139,5 +147,5 @@ General Public License v3 or, at your option, later. See
|
|
139
147
|
[LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-community/antsibull-nox/tree/main/LICENSE)
|
140
148
|
for a copy of the license.
|
141
149
|
|
142
|
-
The repository follows the [REUSE Specification](https://reuse.software/spec/)
|
143
|
-
|
150
|
+
The repository follows the [REUSE Specification](https://reuse.software/spec/)
|
151
|
+
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
|
+
[](https://ansible.readthedocs.io/projects/antsibull-nox/)
|
8
9
|
[](https://matrix.to/#/#antsibull:ansible.com)
|
9
10
|
[](https://github.com/ansible-community/antsibull-nox/actions?query=workflow%3A%22nox%22+branch%3Amain)
|
10
11
|
[](https://codecov.io/gh/ansible-community/antsibull-nox)
|
11
12
|
[](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/)
|
81
|
-
|
88
|
+
The repository follows the [REUSE Specification](https://reuse.software/spec/)
|
89
|
+
for declaring copyright and licensing information.
|
@@ -16,9 +16,9 @@ inputs:
|
|
16
16
|
default: "3.13"
|
17
17
|
sessions:
|
18
18
|
description: |-
|
19
|
-
Nox sessions to run.
|
19
|
+
Nox sessions to run. By default, all sessions are run.
|
20
20
|
required: false
|
21
|
-
default:
|
21
|
+
default: ""
|
22
22
|
working-directory:
|
23
23
|
description: |-
|
24
24
|
The directory where to run the nox sessions in.
|
@@ -37,12 +37,16 @@ runs:
|
|
37
37
|
|
38
38
|
- name: "Install nox and antsibull-nox"
|
39
39
|
run: |
|
40
|
+
echo "::group::Install nox and antsibull-nox"
|
40
41
|
${{ steps.python.outputs.python-path }} -m pip install ${{ github.action_path }}
|
42
|
+
echo "::endgroup::"
|
41
43
|
shell: bash
|
42
44
|
|
43
45
|
- name: "Set up nox environments"
|
44
46
|
run: |
|
45
|
-
|
47
|
+
echo "::group::Set up nox environments"
|
48
|
+
nox --verbose --install-only ${{ inputs.sessions && '--sessions' || '' }} ${{ inputs.sessions }}
|
49
|
+
echo "::endgroup::"
|
46
50
|
env:
|
47
51
|
FORCE_COLOR: "1"
|
48
52
|
shell: bash
|
@@ -50,7 +54,7 @@ runs:
|
|
50
54
|
|
51
55
|
- name: "Run nox"
|
52
56
|
run: |
|
53
|
-
nox --verbose --reuse-existing-virtualenvs --no-install --sessions ${{ inputs.sessions }}
|
57
|
+
nox --verbose --reuse-existing-virtualenvs --no-install ${{ inputs.sessions && '--sessions' || '' }} ${{ inputs.sessions }}
|
54
58
|
env:
|
55
59
|
FORCE_COLOR: "1"
|
56
60
|
shell: bash
|
@@ -0,0 +1,56 @@
|
|
1
|
+
---
|
2
|
+
ancestor: null
|
3
|
+
releases:
|
4
|
+
0.0.1:
|
5
|
+
changes:
|
6
|
+
release_summary: Initial alpha release.
|
7
|
+
fragments:
|
8
|
+
- 0.0.1.yml
|
9
|
+
release_date: '2025-03-16'
|
10
|
+
0.1.0:
|
11
|
+
changes:
|
12
|
+
breaking_changes:
|
13
|
+
- The nox workflow now by default runs all sessions, unless restricted with
|
14
|
+
the ``sessions`` parameter (https://github.com/ansible-community/antsibull-nox/pull/14).
|
15
|
+
bugfixes:
|
16
|
+
- Make sure that black in CI checks formatting instead of just reformatting
|
17
|
+
(https://github.com/ansible-community/antsibull-nox/pull/14).
|
18
|
+
minor_changes:
|
19
|
+
- A ``build-import-check`` session that builds and tries to import the collection
|
20
|
+
with Galaxy Importer can be added with ``add_build_import_check()`` (https://github.com/ansible-community/antsibull-nox/issues/15,
|
21
|
+
https://github.com/ansible-community/antsibull-nox/pull/17).
|
22
|
+
- A ``docs-check`` session that runs ``antsibull-docs lint-collection-docs``
|
23
|
+
can be added with ``add_docs_check()`` (https://github.com/ansible-community/antsibull-nox/issues/8,
|
24
|
+
https://github.com/ansible-community/antsibull-nox/pull/14).
|
25
|
+
- A ``extra-checks`` session that runs extra checks such as ``no-unwanted-files``
|
26
|
+
or ``action-groups`` can be added with ``add_extra_checks()`` (https://github.com/ansible-community/antsibull-nox/issues/8,
|
27
|
+
https://github.com/ansible-community/antsibull-nox/pull/14).
|
28
|
+
- A ``license-check`` session that runs ``reuse`` and checks for bad licenses
|
29
|
+
can be added with ``add_license_check()`` (https://github.com/ansible-community/antsibull-nox/issues/8,
|
30
|
+
https://github.com/ansible-community/antsibull-nox/pull/14).
|
31
|
+
- Allow to decide which sessions should be marked as default and which not
|
32
|
+
(https://github.com/ansible-community/antsibull-nox/issues/18, https://github.com/ansible-community/antsibull-nox/pull/20).
|
33
|
+
- Allow to provide ``extra_code_files`` to ``add_lint_sessions()`` (https://github.com/ansible-community/antsibull-nox/pull/14).
|
34
|
+
- Check whether we're running in CI using the generic ``$CI`` enviornment
|
35
|
+
variable instead of ``$GITHUB_ACTIONS``. ``$CI`` is set to ``true`` on Github
|
36
|
+
Actions, Gitlab CI, and other CI systems (https://github.com/ansible-community/antsibull-nox/pull/28).
|
37
|
+
- For running pylint and mypy, copy the collection and dependent collections
|
38
|
+
into a new tree. This allows the collection repository to be checked out
|
39
|
+
outside an approriate tree structure, and it also allows the dependent collections
|
40
|
+
to live in another tree structure, as long as ``ansible-galaxy collection
|
41
|
+
list`` can find them (https://github.com/ansible-community/antsibull-nox/pull/1).
|
42
|
+
- When a collection checkout is not part of an ``ansible_collections`` tree,
|
43
|
+
look for collections in adjacent directories of the form ``<namespace>.<name>``
|
44
|
+
that match the containing collection's FQCN (https://github.com/ansible-community/antsibull-nox/issues/6,
|
45
|
+
https://github.com/ansible-community/antsibull-nox/pull/22).
|
46
|
+
- antsibull-nox now depends on antsibull-fileutils >= 1.2.0 (https://github.com/ansible-community/antsibull-nox/pull/1).
|
47
|
+
release_summary: Feature release.
|
48
|
+
fragments:
|
49
|
+
- 0.1.0.yml
|
50
|
+
- 1.yml
|
51
|
+
- 14-extra-sessions.yml
|
52
|
+
- 17-build-import.yml
|
53
|
+
- 21-default.yml
|
54
|
+
- 22-adjacent-collections.yml
|
55
|
+
- 28-CI.yaml
|
56
|
+
release_date: '2025-03-30'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
# Copyright (c) Ansible Project
|
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)
|
4
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
5
|
+
|
6
|
+
# This tries to recover the default configuration that is overwritten
|
7
|
+
# in https://app.codecov.io/account/gh/ansible-community/yaml/:
|
8
|
+
|
9
|
+
comment: {} # https://docs.codecov.com/docs/pull-request-comments
|
10
|
+
coverage:
|
11
|
+
status: # https://docs.codecov.com/docs/commit-status
|
12
|
+
patch: {}
|
13
|
+
project:
|
14
|
+
default:
|
15
|
+
# https://docs.codecov.com/docs/commit-status#flag_coverage_not_uploaded_behavior
|
16
|
+
flag_coverage_not_uploaded_behavior: include
|
17
|
+
|
18
|
+
# Common configurations:
|
19
|
+
github_checks:
|
20
|
+
annotations: false
|
21
|
+
|
22
|
+
fixes:
|
23
|
+
- "antsibull-nox/::"
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Antsibull Nox Helper Release Notes
|
2
|
+
|
3
|
+
<a id="v0-1-0"></a>
|
4
|
+
## v0\.1\.0
|
5
|
+
|
6
|
+
<a id="release-summary"></a>
|
7
|
+
### Release Summary
|
8
|
+
|
9
|
+
Feature release\.
|
10
|
+
|
11
|
+
<a id="minor-changes"></a>
|
12
|
+
### Minor Changes
|
13
|
+
|
14
|
+
* 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)\)\.
|
15
|
+
* 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)\)\.
|
16
|
+
* 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)\)\.
|
17
|
+
* 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)\)\.
|
18
|
+
* 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)\)\.
|
19
|
+
* 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)\)\.
|
20
|
+
* 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)\)\.
|
21
|
+
* 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)\)\.
|
22
|
+
* 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)\)\.
|
23
|
+
* 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)\)\.
|
24
|
+
|
25
|
+
<a id="breaking-changes--porting-guide"></a>
|
26
|
+
### Breaking Changes / Porting Guide
|
27
|
+
|
28
|
+
* 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)\)\.
|
29
|
+
|
30
|
+
<a id="bugfixes"></a>
|
31
|
+
### Bugfixes
|
32
|
+
|
33
|
+
* 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)\)\.
|
34
|
+
|
35
|
+
<a id="v0-0-1"></a>
|
36
|
+
## v0\.0\.1
|
37
|
+
|
38
|
+
<a id="release-summary-1"></a>
|
39
|
+
### Release Summary
|
40
|
+
|
41
|
+
Initial alpha release\.
|