Reduce the number of Galaxy API calls made during dependency resolution by fetching remote signatures afterwards, since these are not used in backtracking.
Reduce the verbosity to `-vvvv` (to match other Galaxy API calls) to see this activity.
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
(cherry picked from commit 460abe0cef)
* Update special_variables.rst (#80210)
The usage of a glossary on this page will allow linking to a specific special variable, like on the glossary page, e.g.: https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html#term-Idempotency
(cherry picked from commit 1491ec8019)
* uri: improve force_basic_auth documentation (#80211)
Add more details about what "true" and "false" mean for the
force_basic_auth setting. Give example scenarios when clients may want
to use this setting.
(cherry picked from commit fc8203168e)
* Improve dirname and basename filter doc (#80054)
(cherry picked from commit 93beef053e)
* Move Collection requirements to ansible/ansible (#80234)
(cherry picked from commit cba3952434)
* Add Ansible community 7.4.0 porting guide (#80338)
(cherry picked from commit 29e0a68af2)
* Add antsibull-changelog and antsibull-docs to other tools and programs page. (#80340)
(cherry picked from commit cf44c84396)
---------
Co-authored-by: Benoît Geeraerts <10222438+b-enoit-be@users.noreply.github.com>
Co-authored-by: Ken Dreyer <kdreyer@redhat.com>
Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: Felix Fontein <felix@fontein.de>
* [stable-2.14] 📦 Switch sdist build-system to pure setuptools (#80255)
This patch modifies the in-tree build backend to build sdists that swap
out pointers to it in the `pyproject.toml`'s `[build-system]` section.
The effect of this is that the first build from source (for example,
from a Git checkout) uses our PEP 517 in-tree build backend. But the
produced tarball has `build-backend` set to `setuptools.build_meta`
which is the native build backend of `setuptools`. So any following
builds from that sdist will skip using the in-tree build backend,
calling the setuptools' one.
The good news is that if the first build generated the manpages, they
will be included and won't go anywhere even though, a different build
system is in place.
Combined with #80253, this will make sure not to modify the current
source checkout on that first build.
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 7097df3eed)
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
* Make PEP 517 mutation tests use pinned old setuptools (#80262)
* Pin setuptools to lowest supported @ PEP 517 test
This allows catching the behavior of builds under old setuptools.
* Stop invoking `setup.py install` in tests
This is not the part we care about since it involves dealing with the
external runtime dependencies rather than building our source
distribution.
(cherry picked from commit eebfd71a6d)
---------
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
* Don't create dest directory in check mode
uncomment existing test
Fix checking for file attribute changes in check mode and add a test
(cherry picked from commit b7a0e0d792)
* improve doc dependency install steps (#80120)
(cherry picked from commit 352010f9c3)
* docs: automatic `always` tag in gather_facts (#80052)
(cherry picked from commit 3216e071c7)
* docsite requirements path (#80134)
(cherry picked from commit 1055803c3a)
* Adjust release schedule docs to four weeks (#80166)
(cherry picked from commit 7ce951ff48)
* Fix spelling and grammar in subelements filter doc (#80137)
(cherry picked from commit 12c1891ce6)
* Fixed typo (#80184)
`uvault` should be `unvault`
(cherry picked from commit cb2180e286)
* Document debugging conditionals (#80239)
##### SUMMARY
Add a section to the docs describing how to debug conditional statements - how to get Ansible to show you whether your `when:` clause evaluates to `true` or `false`.
I ran into trouble with this and couldn't find anything in the docs. Thought I'd add it.
##### ISSUE TYPE
- Docs Pull Request
+label: docsite_pr
(cherry picked from commit 507fd1bd60)
* Update connection.rst (#80194)
(cherry picked from commit 0937cc4862)
---------
Co-authored-by: Don Naro <dnaro@redhat.com>
Co-authored-by: Jairo Llopis <973709+yajo@users.noreply.github.com>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Zachary Peschke <8718570+zpeschke@users.noreply.github.com>
Co-authored-by: Harmdhast <pandemonium.harmdhast@gmail.com>
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
Co-authored-by: Esther Christopher <estheradamuchris@gmail.com>
* Add _convert_rst_in_template_to_manpage arg types
* 📦 Make manpage build dependencies conditional
Previously, said dependencies were declared as unconditionally
required even when manpages not needed to be built. This patch
Makes it so they are only required when needed.
* Correct _generate_rst_in_templates returned type
It was marked as Path before this patch but in fact, it's iterable of
paths.
* 🎨 Convert RST to manpage in-memory @ PEP 517
Previously, the automation was writing a temporary templated RST on
disk and calling a helper CLI script on that. But with this change, it
happens with less unnecessary I/O.
Co-Authored-By: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
* 📦Expose sdist manpage build deps unconditionally
Due to a bug in pypa/build, the `get_requires_for_build_sdist()` hook
is always invoked with `config_settings=None`. This means that we
cannot conditionally extend build requirements in said hook.
As a workaround, this patch makes hook pretend that `--built-manpages`
is always passed.
Ref: https://github.com/pypa/build/issues/559.
---------
Co-authored-by: Matt Davis <6775756+nitzmahone@users.noreply.github.com>
(cherry picked from commit 67bafafbc0)
This is a backport of #80098.
This change allows ansible-test to work with newer versions of git on AZP..
(cherry picked from commit bad8843124)
Co-authored-by: Matt Clay <matt@mystile.com>
Scripts previously under `test/utils/shippable/` are now under `.azure-pipelines/commands/` instead.
(cherry picked from commit f47bc03599)
Co-authored-by: Matt Clay <matt@mystile.com>
- Support loading of vendored Python packages.
- Exclude vendored Python packages from payloads.
(cherry picked from commit 6bfe6b899a)
Co-authored-by: Matt Clay <matt@mystile.com>
Always indicate the Python version being used before installing requirements.
(cherry picked from commit 5e3db6e441)
Co-authored-by: Matt Clay <matt@mystile.com>
Integration test target prefixes defined in a `tests/integration/target-prefixes.{group}` file can now contain an underscore (`_`) character.
(cherry picked from commit e6cffce0eb)
Co-authored-by: Matt Clay <matt@mystile.com>
This patch creates a thin wrapper around the `setuptools`' PEP 517
build backend in-tree. It features an ability to request generating
the manpage files in the process of building a source distribution.
This toggle is implemented using the `config_settings` mechanism of
PEP 517.
One must explicitly pass it a CLI option to the build front-end to
trigger said behavior. The packagers are expected to use the
following call:
python -m build --config-setting=--build-manpages
This option has no effect on building wheels.
🧪 The change includes integration tests
This test runs building and re-building sdists and wheels with and
without the `--build-manpages` config setting under the
oldest-supported and new `setuptools` pinned.
It is intended to preserve the interoperability of the packaging setup
across Python runtimes.
An extra smoke test also verifies that non PEP 517 interfaces remain functional.
PR #79606
Co-authored-by: Matt Clay <matt@mystile.com>
(cherry picked from commit 56036013cd)
* [stable-2.14] ansible-test - Fix pylint error with old home dir (#80151)
(cherry picked from commit 27287b40c0)
Co-authored-by: Matt Clay <matt@mystile.com>
* ansible-test - Fix error with missing pylint home (#80155)
(cherry picked from commit 367d45facd)
* Add Steampunk Spotter to Other tools list (#80006)
(cherry picked from commit 122de95d85)
* Clarify combine filter examples (#80078)
(cherry picked from commit 39fd899d83)
* Add Ansible community 7.3.0 porting guide (#80106)
(cherry picked from commit dbcaab1012)
* Clarify when plugin settings are being populated (#79710)
(cherry picked from commit 998b5c1a06)
* Update playbooks_tests.rst (#79788)
(cherry picked from commit ed879954f9)
* consistent booleans for page text and code blocks (#80036)
* consistent booleans for page text and code blocks
* Update check_mode from n to false
(cherry picked from commit 940fdf5dba)
* Update collection_integration_updating.rst (#80037)
(cherry picked from commit ce5471fc9f)
* package_facts requires python-rpm on SUSE systems in ansible 2.12.1 (#80041)
(cherry picked from commit 43aa47c2af)
* fix: jinja complex type transforms doesn't work as documented (#80067)
jinja complex type transforms: dict(somelist| slice(2)) doesn't work as documented. Changed the example to use zip_longest
(cherry picked from commit 5ad77fc7bb)
* Docs: Clarify note on tags (#80079)
The current wording could be read as "tasks that are tagged *both* configuration and packages" while in fact it is "tasks that are tagged *either* configuration *or* packages"
(cherry picked from commit 563833d124)
* Fix typo docs in playbooks_tags.rst (#80117)
(cherry picked from commit c8f740cfee)
* Encourage true/false for module documentation (#80060)
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 02c49ffe60)
* fix link for development guidelines (#80055)
(cherry picked from commit 012393e2cd)
* improve password lookup syntax in examples (#80092)
(cherry picked from commit 809727a7c7)
* Fixing typos (#80045)
(cherry picked from commit 841b71c94f)
* clarify playbook tests (#80073)
(cherry picked from commit 0521184337)
* Update playbooks_conditionals.rst (#80062)
"changed" was missing from the docs
(cherry picked from commit cc8e6d06d0)
---------
Co-authored-by: Anže Luzar <aluzarwork@gmail.com>
Co-authored-by: Klaus Frank <agowa338@users.noreply.github.com>
Co-authored-by: Anwesha Das <anwesha@das.community>
Co-authored-by: nkakouros <tterranigma@gmail.com>
Co-authored-by: Gijikiki <61326640+Gijikiki@users.noreply.github.com>
Co-authored-by: Aastha Varma <aastha.code@gmail.com>
Co-authored-by: Player256 <92082372+Player256@users.noreply.github.com>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
Co-authored-by: Nicolas P <0kyn.dev@gmail.com>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Akira Yokochi <akira6592@gmail.com>
Co-authored-by: Andreas Deininger <andreas@deininger.net>
Co-authored-by: Keeper-of-the-Keys <es.rosenberg+github@gmail.com>
* don't ignore templated _raw_params that k=v parser failed to parse (#79913)
fixes#79862
(cherry picked from commit e1d298ed61)
* backport test change to runme.sh
* add null 'manifest' key to metadata for git repo collections containing MANIFEST.json
changelog
* set to Sentinel instead of None
* Test installing a collection in a git repo that contains a MANIFEST.json
* fix test
* Update changelogs/fragments/ansible-galaxy-install-git-src-manifest.yml
(cherry picked from commit 321848e98d)