Commit Graph

53353 Commits (eef7bf7e4b1267ae17622d744d7deee8fc5a67bd)
 

Author SHA1 Message Date
Matt Clay e7f64ed9d5
[stable-2.14] ansible-test - Always use managed entry points (#81537) (#81540)
(cherry picked from commit 390e508d27)
1 year ago
Matt Clay 4a2fe5134c
[stable-2.14] Remove obsolete text from release.py PR template (#81526) (#81528)
(cherry picked from commit 9afaf2216b)
1 year ago
Matt Clay 53b685fd6d
[stable-2.14] Fix f-string whitespace in release script (#81477) (#81479)
(cherry picked from commit 85d3305889)
1 year ago
Matt Clay 5a225f9e95
[stable-2.14] Clean up release script (#81488) (#81490)
* Enable mypy for the entire packaging directory

* Return CompletedProcess only when capturing output

This allows stdout/stderr on CompletedProcess to be `str` instead of `str | None`.
The unused args on CompletedProcess have been removed.
Overload type hints have been added to reflect these changes.

* Relax return type on ensure_venv

This improves consistency with its usage, since `run` accepts `env` of `dict[str, t.Any]`.
Also removed unnecssary `str()` usage when updating `env`.

* Fix type hint on suppress_when

* Fix callable annotation

* Add type hint for command_parser

PyCharm complains about using a protected member, and also that it can't find the type in the type stubs.
However, mypy properly recognizes the type.

* Avoid unnecessary TypeVar usage.
(cherry picked from commit 47ab59753c)
1 year ago
Sviatoslav Sydorenko 4cbdf02efe
Replace FreeBSD 12.3 w/ 12.4 in CI & ansible-test (#81497)
FreeBSD 12.3 bootstrap packages stopped being available.
1 year ago
Matt Clay 0f8441ad83
Update Ansible release version to v2.14.9.post0. (#81510) 1 year ago
Matt Clay 6a8d192649
New release v2.14.9 (#81507) 1 year ago
Matt Martz 223a6ee8eb
Update Ansible release version to v2.14.9rc1.post0. (#81461) 1 year ago
Matt Martz 12308ba054
New release v2.14.9rc1 (#81458) 1 year ago
Matt Clay cf6df70765
[stable-2.14] Overhaul package-data sanity test (#81427) (#81438)
The sanity test now only inspects the sdist and wheel instead of trying to install the sdist using setup.py..
(cherry picked from commit f894ce89b4)
1 year ago
Matt Clay 470be95257
[stable-2.14] ansible-test - Update source layout detection (#81418) (#81435)
(cherry picked from commit c525514994)
1 year ago
Brian Coca 33f8460a78
fixed become page link in PE error message (#81391) (#81394)
(cherry picked from commit 0b9d83ccdb)
1 year ago
Felix Fontein 94a87bd92a
The split filter was added in ansible-core 2.11. (#81275) (#81290)
(cherry picked from commit b771e59793)
1 year ago
Felix Fontein 5b8ffe66a2
Module docs fixes. (#81213) (#81235)
(cherry picked from commit dce51f4ff4)
1 year ago
Matt Clay ae2a1f403a
[stable-2.14] Update update-sanity-requirements.py script (#81424) (#81432)
Frozen requirements can now preserve any explicitly installed package that would normally be omitted, not just setuptools.
(cherry picked from commit dbb3feddaf)
1 year ago
Matt Clay 25de85e95b
[stable-2.14] Revert "define code owners to support branch-protection rules on docs (#81041)" (#81228) (#81429)
This reverts commit 9117762358.
(cherry picked from commit 7c6564ad0e)
1 year ago
Matt Clay a2ceacd75d
[stable-2.14] Clean up MANIFEST.in (#81415)
* Clean up MANIFEST.in (#80688)

* Remove unnecessary MANIFEST.in commands

This eliminates more setuptools warnings during build.

* Sort MANIFEST.in

Now that only include commands are used, the order of the commands no longer effects the build output.

(cherry picked from commit 6e325d9e4d)

* Omit hacking directory from MANIFEST.in (#81245)

* Omit `hacking` directory from `MANIFEST.in`

* Update package-data sanity test

(cherry picked from commit b93a628aed)
1 year ago
Matt Clay a22c7d8f3b
[stable-2.14] Add changelog fragment for docs/examples removal (#81410) (#81412)
(cherry picked from commit 0c03a6bcf6)
1 year ago
Martin Krizek 2d4d354cb1
Remove BOTMETA.yml and sanity tests for it (#81198) (#81264)
(cherry picked from commit 39ef570e16)
1 year ago
Matt Clay dd45caa7a9
[stable-2.14] Docs removal and other backports (#81407)
* Remove straight.plugin dependency (#80084)

(cherry picked from commit f587856beb)

* Update package-data sanity test (#80344)

The test no longer relies on the Makefile.

(cherry picked from commit 46362bbd27)

* Remove obsolete release bits (#80347)

Releases are now built using the `packaging/release.py` tool.
This makes the `Makefile` and associated files in `packaging/release/` and `packaging/sdist/` obsolete.

* Use --no-isolation for package-data sanity test (#80377)

The dependencies are already in the sanity test venv. This avoids use of unpinned dependencies and a dependency on a network connection.

(cherry picked from commit 7fcb9960e6)

* Set the minimum setuptools to 45.2.0 (#80649)

Also update the package-data sanity test to use the minimum setuptools version.

(cherry picked from commit 4d25e3d54f)

* Use package_data instead of include_package_data (#80652)

This resolves warnings generated by setuptools such as the following:

_Warning: Package 'ansible.galaxy.data' is absent from the `packages` configuration.

(cherry picked from commit 5ac292e12d)

* Fix os.walk issues in package-data sanity test (#80703)

* Remove `docs` and `examples` directories (#81011)

* Remove docs dir

* Updates to reflect docs removal

* Fix integration test

* Remove examples dir

* Updates to reflect examples removal

* Remove build_library and build-ansible.py

* Remove refs to build_library and build-ansible.py

* Remove obsolete template

* Remove obsolete template reference

* Remove the now obsolete rstcheck sanity test

(cherry picked from commit 72e038e823)

* Omit pre-built man pages from sdist (#81395)

Since man pages aren't accessible to users after a `pip install`, there's no need to include them in the sdist.
This change makes it trivial to build man pages from source, which makes them much easier to iterate on.
It also simplifies creation and testing of the sdist, since it no longer requires building man pages.

The new `packaging/cli-doc/build.py` script can generate both man pages and RST documentation.
This supports inclusion on the docs site without a dependency on `ansible-core` internals.
Having a single implementation for both simplifies keeping the two formats in sync.

(cherry picked from commit 691c8e8603)
1 year ago
Matt Clay 6f20fe3599
Fix backport of #81379 (#81386)
Two copies of the file existed in this branch, but only one was updated previously.
1 year ago
Matt Clay 60f48ad1a3
[stable-2.14] Include subcommands in generated man pages (#81378) (#81383)
Sub commands of `ansible-galaxy role` and `ansible-galaxy collection` are now documented.
(cherry picked from commit 081c60b9d3)
1 year ago
Matt Clay 63413cb0d4
[stable-2.14] Fix misrendered sections in manpage generation (#81380)
This change fixes bugs in the manpage generator that existed since it
was first added.

It exposes CLI `ARGUMENTS` value to manpage templates.

Before this change, the code contained a typo, causing the `for`-loop
iterate over individual characters of the `'ARGUMENTS'` string rather
than iterating over a tuple. A missing comma was at fault.

The updated code gets rid of the `for`-loop and conditionals since it
seems to have been a premature complexity increase and no other things
than `'ARGUMENTS'` were ever added into the broken iterable.

The functional change is that `arguments` is now always present in the
Jinja2 context, unlike being missing sometimes because of the previous
design (not that it was ever present, because of the bug! sigh...)

The Jinja2 templates perform an `{% if arguments %}` check, letting
the template engine silently ignore the missing variable. The clause
was always falsy, meaning that the arguments section was not included
in the manpages for at least the last 6 years. With this fix, it will
be.

This patch also deduplicates calling `opt_doc_list` @ generate_man.

It was called late in the execution, more times than necessary. This
patch makes sure it happens once by putting it at the top of the scope.

It fixes rendering library and inventory in manpages.

The corresponding Jinja2 templates have blocks wrapped with
conditionals like `{% if inventory %}` and `{% if library %}` but said
variables were never injected into the context, nor were they even
deduced on the Python side of the generator. This means that the
conditional clauses were always falsy, never showing the portions of
the manpages.

The Python script has hints for how the `inventory` variable was to be
calculated, which is confirmed through the Git paleontology efforts.

The block of code that references to the `inventory` bit was
incorrectly checking a variable with a list of nested objects for the
presence of a string which was never going to work.

This patch fixes this check by verifying the CLI flag against the
correct variable containing a list of options and exposes it to the
Jinja2 templates.
It also exposes the `library` variable in a similar way.

The block displaying other binaries in Sphinx CLI docs has been
synchronized with the manpage template.
Previously, the current binary was displayed also. This patch gets rid
of the unwanted trailing comma there too.

Finally, the CLI executables list in the manpage template now reuses
the same variable as the RST template that doesn't need any
post-processing in Jinja2.
Before, it was already used in the RST template so this patch aligns
both templates to use the same logic as they got out-of-sync over time.

PR #80450.
(cherry picked from commit a84b3a4e72)

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
1 year ago
Matt Clay 10f4d6b982
[stable-2.14] Fix missing command descriptions in manpages/docs (#81366). (#81371)
(cherry picked from commit 32b388b4ca)
1 year ago
Matt Clay b42dcee567
[stable-2.14] Fix command doc lookup in man page generation (#81365) (#81368)
(cherry picked from commit f9d674fcfd)
1 year ago
Matt Clay aaeb2c0b08
[stable-2.14] Exclude internal options from man pages and docs (#81360) (#81362)
(cherry picked from commit fead654671)
1 year ago
Matt Clay b660c7ec1e
[stable-2.14] ansible-test - update module_utils/urls.py unit test to support cryptography >= 41.0.0 (#81296) (#81317)
(cherry picked from commit d20a0c02cc)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
1 year ago
Matt Clay 71f3f1601a
[stable-2.14] Convert non-docs *.rst files to *.md (#81217) (#81223)
* [stable-2.14] Convert non-docs *.rst files to *.md (#81217)

* Rename README.rst to README.md

* Change README format from reStructuredText to Markdown

* Fix whitespace in README.md

* Update setup.cfg to use README.md

* Replace changelog placeholder with README.md

* Update package-data sanity test
(cherry picked from commit 38e50c9f81)

Co-authored-by: Matt Clay <matt@mystile.com>

* Remove README.rst from MANIFEST.in
1 year ago
Matt Clay a5010e1630
[stable-2.14] Add missing skip entries for selinux module_util (#81305) (#81308)
(cherry picked from commit 18cbfc688b)
1 year ago
Matt Clay bff040a0b6
[stable-2.14] ansible-test - Pre-build PyYAML wheels (#81300) (#81310)
This works around Cython failures when attempting to install PyYAML >= 5.4 <= 6.0..
(cherry picked from commit e964078a83)
1 year ago
Matt Clay f2246d3a3f
[stable-2.14] Disable cron integration test on Alpine (#81301) (#81303)
The tests are now failing due to the lack of `libfaketime` in the Alpine repos.
(cherry picked from commit 261a12b8a9)
1 year ago
Matt Clay 5698f942c9
Update Ansible release version to v2.14.8.post0. (#81287) 1 year ago
Matt Clay 3dd60bfaf8
New release v2.14.8 (#81284) 1 year ago
Sviatoslav Sydorenko 50390e40ee
Replace `reboot_command` integration test with unit tests (#78956) (#81267)
Co-authored-by: Matt Clay <matt@mystile.com>

(cherry picked from commit b6ebb9d41a)
1 year ago
Matt Clay b5ad911da8
[stable-2.14] Use *.md instead of *.rst for test READMEs (#81009) (#81230)
(cherry picked from commit 6ac0ea3567)
1 year ago
Matt Clay 7f543f3d5f
[stable-2.14] Reorganize CI sanity test matrix (#81004) (#81226)
(cherry picked from commit ff359fa8e1)
1 year ago
Matt Davis 65f76121fb
Update Ansible release version to v2.14.8rc1.post0. (#81210) 1 year ago
Matt Davis ec2fb0da49
New release v2.14.8rc1 (#81205) 1 year ago
Martin Krizek 5cd02deacf
Re-introduce RHEL 9 modularity testing in CI (#81160) (#81193)
(cherry picked from commit 7b2647f3b2)
1 year ago
Matt Martz 939370ea32
[stable-2.14] Resolve issues on python pre-3.10.6 with collection dirs longer than 100 characters (#81061) (#81073)
(cherry picked from commit 56b67cc)
1 year ago
Matt Martz c8fe9a74a1
[stable-2.14] Cache field attributes list on the playbook classes (#79091) (#81089)
* [stable-2.14] Cache field attributes list on the playbook classes (#79091)

* Cache field attributes list on the playbook classes
(cherry picked from commit 5863770)

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>

* Replace deprecated stacked `@classmethod` and `@property` (#79952)

(cherry picked from commit 243d1b5e3d)

---------

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
1 year ago
Matt Clay 178acc3805
[stable-2.14] ansible-test - Avoid using atexit module (#81096) (#81098)
(cherry picked from commit c3926268e2)
1 year ago
Matt Martz b1dea51116
Update Ansible release version to v2.14.7.post0. (#81090) 1 year ago
Matt Martz 41258d3c8d
New release v2.14.7 (#81087) 1 year ago
Matt Davis a2c685d300
[stable-2.14] define code owners to support branch-protection rules on docs (#81041) (#81044)
* during interim docs/ (and related dirs) split to separate repo, prevent merges that might require a rebase of the target repo
(cherry picked from commit 9117762358)
1 year ago
Matt Martz f2eb324313
Update Ansible release version to v2.14.7rc1.post0. (#81038) 1 year ago
Matt Martz 9d262f177f
New release v2.14.7rc1 (#81035) 1 year ago
Sviatoslav Sydorenko b06c10b1ed
Bump azure-pipelines-test-container to v4.0.1 @ CI (#80938)
This patch updates the test container used in CI to the new v4 that
defaults to using Python 3.10 and is based on Ubuntu 22.04 Jammy[[1]].

[1]: https://github.com/ansible/azure-pipelines-test-container/pull/17
1 year ago
Matt Clay dd63e31124
[stable-2.14] Remove hacking dir dependency from build backend (#81026)
* Copy man generation files into build backend

* Use copied files in build backend
1 year ago
Matt Clay 2918785895
[stable-2.14] Remove docs dir dependency from man page build (#81003) (#81023)
* [stable-2.14] Remove docs dir dependency from man page build (#81003)
(cherry picked from commit b3f1290bcd)

Co-authored-by: Matt Clay <matt@mystile.com>

* Update path in Makefile
1 year ago