143 Commits

Author SHA1 Message Date
Matt Clay fc5931c90b Test RHEL 9 using Python 3.14 (#87073)
This was overlooked in https://github.com/ansible/ansible/pull/87057
2026-06-05 23:44:45 +00:00
Matt Clay 31b3cc35e6 Drop Python 3.12 controller support (#87057)
* Drop Python 3.12 controller support

* Remove obsolete code

* Remove obsolete centos6 test code

* Skip tests on unsupported platforms

* Work around lack of Alpine controller support in tests
2026-06-05 10:15:42 -07:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) d25ac062dd 🧪 Pin Codecov CLI uploader env for Python 3.13
PR #87041

PR #87010 bumped the container used in CI for uploading the coverage
measurements to Codecov and its runtime now uses Python 3.13.

The previously set `.azure-pipelines/scripts/dependencies/codecov.txt`
pip constraints used to lock down the transitive dependencies in that
environment were of older versions and `test-results-parser==0.5.4`
caused pip to trigger building this dependency from an sdist due to
the latest platform-specific wheel available for that version being
tagged for Python 3.12.

The new container does not have enough of the build toolchain and the
build fails being unable to find the `cc` linker [[1]].

This patch mass-upgrades the transitive dependencies in said deptree
to newer versions that also ship platform-specific wheels for Python
3.13 and 3.14.

[1]: https://dev.azure.com/ansible/ansible/_build/results?buildId=181432&view=logs&j=d7668ad9-d7bb-5ae4-c14f-5061b89e467d&s=44856301-4c0b-5572-5f50-eb8e385c84fd&t=7f884d87-6a36-516f-9067-af4cf77c020d&l=93

ci_coverage
ci_complete
2026-05-28 16:16:08 +00:00
Matt Clay ba21909655 Update AZP container (#87010) 2026-05-27 19:29:13 -07:00
Matt Clay f4203e90e4 ansible-test - Replace Ubuntu 22.04 with 26.04 (#86894)
* ansible-test - Replace Ubuntu 22.04 with 26.04

* Remove obsolete AppArmor work-around

* Fix connection_local integration test

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>

* Fix apt integration test

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>

* Skip apt_repository test on Ubuntu 26.04+

The module is deprecated, but it still tested on Ubuntu 24.04.

* Fix apt test

---------

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2026-05-14 16:51:34 -07:00
Matt Clay bd7fa60c24 Remove Windows Server 2016 support (#86852)
* ansible-test - Remove Windows Server 2016 remote
* Drop Windows Server 2016 support from psrp connection plugin
* Remove test support for EOL Windows versions
* Tighten up win_script integration test
* Remove obsolete Windows version check from test
2026-04-16 02:42:17 +00:00
Matt Clay a5a9fbd9ec ansible-test - Replace Fedora 43 with 44 (#86851) 2026-04-16 01:19:33 +00:00
Matt Clay 53448d7c5d Add support for Python 3.15 (#86821) 2026-04-10 10:18:45 -07:00
Jordan Borean 1071baca60 Add support for PowerShell modules on POSIX (#86627)
* Add support for PowerShell modules on POSIX

Adds support for running modules written in PowerShell on non-Windows
hosts. This includes references to a PowerShell or C# module_util
located in Ansible or a collection. Not all module utils will work
outside of Windows but `Ansible.Basic` will do so.

Support for PowerShell modules on non-Windows is up to the module and
collection author. This PR just enables the ability to run them through
the existing PowerShell execution wrapper.

* Fix up sanity and unit tests, try and run in separate CI group

* Fix up powershell.sh group detection

* More sanity fixes

* More sanity fixes

* Ensure shebang is part of command to run

* Try and simplify exec module logic

* Attempt to get powershell group running in CI

* Fix up test integration aliases for powershell

* Remove ansible.windows collection for integration support

* Revert the win_powershell changes now they aren't needed

* Simplify test matrix and use default container
2026-03-27 05:56:38 +10:00
sivel / Matt Martz af6f1afeaf Support core packaging operations against older python versions (#86432)
* split the dnf module into a cli shim and a module
* Update package_facts to use rpm cli, add package_facts and rpm_key to rhel8 targeted testing
* Switch resource embedding to EmbedManager.embed API


Co-authored-by: Matt Davis <nitzmahone@redhat.com>
2026-03-25 12:02:11 -05:00
Matt Clay e65e27c38a ansible-test - Update sanity test requirements (#86701) 2026-03-20 23:39:04 +00:00
Matt Clay 67ef70756c ansible-test - Upgrade macOS remote to 26.3 (#86699) 2026-03-20 12:44:39 -07:00
Matt Clay b330f2a051 ansible-test - Upgrade FreeBSD 14.3 to 14.4 (#86698)
Also use packaged version of ``packaging`` for FreeBSD 15.0.
2026-03-20 11:23:14 -07:00
Jordan Borean 9970893084 Add PowerShell 7 support (#85796)
* Add PowerShell 7 support

Add support for running PowerShell modules cross platform and with
PowerShell 7. Tidies up some PowerShell shell plugin methods to make
it more reflective of the target shell vs a shell used for Windows.

Currently only Windows is officially supported with a plan on adding
tests and official support for non-Windows platforms at a later date.

ci_complete

* Fix pslint sanity issues

* Fix up typos

* Update lib/ansible/plugins/connection/psrp.py

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

* Add note about relative symlink

* Use TracebacksFor instead of Verbosity for debug info

* Use proper powershell name in CI script

* Remove extra ansible-test changes leftover from rebase

---------

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2026-02-28 18:25:26 +10:00
Matt Clay 63fdb2079c ansible-test - Replace Fedora 42 with 43 (#86220)
* ansible-test - Replace Fedora 42 with 43

* Temporarily skip the rpm_key test on Fedora 43

* Stop testing podman as root on Fedora 43
2026-01-07 18:36:04 -08:00
Matt Clay 3df8aeed80 ansible-test - Replace RHEL 10.0 with 10.1 (#86387) 2026-01-07 15:20:37 -08:00
Matt Clay 69afa45880 ansible-test - Replace FreeBSD 13.5 with 15.0 (#86385)
* ansible-test - Replace FreeBSD 13.5 with 15.0

* Update Kerberos hack for FreeBSD 15
2026-01-07 13:45:42 -08:00
Matt Clay 5446d7333b ansible-test - Replace Alpine 3.22 with 3.23 (#86386) 2026-01-07 13:44:58 -08:00
Matt Clay 6c024e24b4 ansible-test - Upgrade to RHEL 9.7 (#86374) 2026-01-05 12:59:33 -08:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 730af3239d 🧪 Set timeouts for CI jobs
Sometimes, AZP would mark steps in jobs as cancelled when they've
actually exited successfully but on the boundary of the default
60-minute timeout. Such logs might be difficult to reason about.

Additionally, `entry-point.sh` sets a 60-minute timeout for the main
test invocation but it would never trigger earlier that AZP would kill
such a job as the job-global timeout was 60 minutes already and it'd
always be hit earlier than the test runner one.

The patch sets maximum observable job timeouts with extra buffer to
account for flakiness.

PR #86073

Co-authored-by: Matt Clay <matt@mystile.com>
2025-10-30 16:48:46 +01:00
Sviatoslav Sydorenko 823c117563 Fix dry-run for notifications @ publish-codecov
Apparently `codecovcli send-notifications` does not have a `--dry-run`
CLI option. This patch stops adding it to the command and implements
an external `dry-run` mode in the wrapper script or this case instead.

This is a follow-up for #85968.

Co-authored-by: Matt Clay <matt@mystile.com>
2025-10-16 23:28:14 +02:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 2799a684fc Explicitly notify Codecov about upload completion (#85968)
This patch add an additional invocation of Codecov CLI that tells the
backend that we're done uploading. It is supposed to stop Codecov from
guessing whether to wait for more uploads for the CI or start
processing them already.

Upstream refs:
* https://docs.codecov.com/docs/cli-options#send-notifications
* https://docs.codecov.com/docs/notifications#preventing-notifications-until-youre-ready-to-send-notifications
* https://docs.codecov.com/docs/codecovyml-reference#codecovnotifymanual_trigger
* https://github.com/codecov/codecov-cli/pull/195 (https://github.com/getsentry/prevent-cli/commit/d634ebd8f21d2880df12f002d83afa499652ea25)
* https://github.com/codecov/codecov-action/issues/1436
* https://github.com/codecov/engineering-team/issues/107
* https://github.com/codecov/roadmap/issues/20
* https://github.com/codecov/feedback/discussions/204#discussioncomment-8796433
* https://github.com/codecov/engineering-team/issues/1245
* https://github.com/codecov/engineering-team/issues/3
* https://github.com/codecov/worker/pull/14 (https://github.com/codecov/umbrella/commit/71626b6368a880d92f1d611917e6ec08598ef26b)
2025-10-15 08:50:25 -07:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 1e572ba5cc 🧪 Pin codecov-cli deptree used in AZP
PR #85888

`codecov-cli == 11.0.3` allows `click == 8.3.0` in its deps but the latter causes commit auto-discovery breakage in the former. With https://github.com/getsentry/prevent-cli/pull/95, `codecov-cli == 11.2.3` excludes this version so this patch updates the requirement to that.

To prevent this from happening again, the change also makes use of a pip constraint file that pins the entire dependency tree to concrete versions. The constraint file is managed by `pip-tools`.

Refs:
* https://github.com/getsentry/prevent-cli/pull/95
* https://github.com/pallets/click/issues/3066

ci_coverage
ci_complete
2025-09-23 15:07:00 +02:00
Matt Clay 7b598f3fc9 CI - Add missing args to generic.sh (#85737) 2025-08-25 22:41:04 +00:00
Matt Clay f2612fbe3a Drop Python 3.11 controller support (#85590) 2025-07-30 16:39:38 -07:00
Matt Clay 62dc40ce1c Update azure-pipelines-test-container (#85578) 2025-07-28 18:29:00 -07:00
Matt Clay 6b2b665ef7 Add support for Python 3.14 and drop Python 3.8 (#85576) 2025-07-28 16:16:14 -07:00
Matt Clay 9b266da14f ansible-test - Update containers and remotes (#85562) 2025-07-26 01:43:40 +00:00
Matt Clay 58c9f48029 ansible-test - Replace FreeBSD 14.2 with 14.3 (#85561)
* ansible-test - Replace FreeBSD 14.2 with 14.3

* Fix CA bundle search priority
2025-07-25 18:09:37 -07:00
Matt Clay 2e71e5aeb9 ansible-test - Replace RHEL 9.5 with 9.6 (#85558) 2025-07-25 22:11:24 +00:00
Matt Clay d19366331f ansible-test - Remove obsolete network provisioning (#85433) 2025-07-03 16:25:33 -07:00
Matt Clay 35252fd96c Drop incidental network tests from CI (#85425) 2025-07-03 14:12:38 -07:00
Matt Clay 4a03ccbd41 Use codecov-cli for uploads (#85386)
ci_coverage
ci_complete
2025-06-25 10:04:15 -07:00
Martin Krizek ef9d92b31d Test both original and latest dnf versions (#85342)
Co-authored-by: Matt Clay <matt@mystile.com>
2025-06-19 08:19:32 +02:00
Matt Clay 53b0f1645b ansible-test - Add RHEL 10.0 remote (#85189)
* ansible-test - Add RHEL 10.0 remote

* Update tests for RHEL 10
* Fix iptables test
* Rework rpm_key integration test
2025-05-21 10:21:27 -07:00
Matt Clay 14bf64ddf8 Code formatting for .azure-pipelines/ (#85166) 2025-05-16 06:14:44 +00:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 2e7e5b65e7 🧪 Drop venv when making coverage XML @ CI
This deletes the fallback that would use `--venv` when `--docker` is
unavailable in `ansible-test`. But this option is present in all
supported versions of Ansible as it was added in v2.12 which is EOL
already.

PR #84819
2025-03-13 12:24:37 +01:00
Matt Clay 4efb01c2f3 ansible-test - Replace FreeBSD 13.4 with 13.5 (#84812) 2025-03-11 15:21:38 -07:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 4a710587dd 🧪 Add macOS 15.3 to CI and ansible-test (#84665) 2025-02-25 18:55:03 +01:00
Matt Clay 1b3face065 ansible-test - Replace FreeBSD 14.1 with 14.2 (#84527)
* ansible-test - Replace FreeBSD 14.1 with 14.2

* Remove cron faketime testing from FreeBSD
2025-01-07 17:15:27 -08:00
Matt Clay f552fe2c15 ansible-test - Replace RHEL 9.4 with 9.5 (#84526) 2025-01-07 15:11:33 -08:00
Matt Clay 35c4b58c11 ansible-test - Replace Alpine 3.20 with 3.21 (#84525) 2025-01-07 14:37:35 -08:00
Matt Clay 648dcd3a6a ansible-test - Replace Fedora 40 with 41 (#84281)
* ansible-test - Replace Fedora 40 with 41

Also update other distro containers to remove unnecessary packages:

* apache2
* subversion
* ruby

* Fix subversion test on Ubuntu

Also remove obsolete vars files from subversion test.

* Skip dnf test on Fedora 41+

The dnf5 test is all that is needed.

* Support dnf5 for the package test

* Extend unix-chkpwd work-around for Fedora
2025-01-07 13:46:48 -08:00
Jordan Borean 7501bbec20 Add support for Windows Server 2025 (#84285)
Adds Windows Server 2025 to the testing matrix.
2024-11-08 12:28:20 +10:00
Matt Clay a98801903d ansible-test - Replace FreeBSD 13.3 with 13.4 (#84236)
* ansible-test - Replace FreeBSD 13.3 with 13.4
* ansible-test - Fix typos in bootstrap.sh
* Skip libfaketime on FreeBSD except FreeBSD 14
2024-11-07 13:19:26 -08:00
Matt Clay 9d42b34ed3 Fix Windows entries in test matrix (#83873)
The display names need to be set so code coverage reporting works.
2024-08-29 11:07:01 -07:00
Jordan Borean 9a5a9e48fc Improve testing for Windows SSH and other connection plugins (#83834)
Expands the test matrix used for testing on Windows to cover the three
connection plugins we support for all the tasks. This change also
changes how raw commands are run over SSH to avoid starting a
`powershell.exe` process that was uneeded in the majority of cases used
in Ansible. This simplifies our code a bit more by removing extra
Windows specific actions in the ssh plugin and improves the efficiency
when running tasks.
2024-08-29 06:27:16 +10:00
Matt Clay 79f819dc54 ansible-test - Remove VyOS tests and support files (#83650)
The VyOS remote image required for running the tests is no longer functional.
2024-07-22 13:42:06 -07:00
Matt Clay 8f1fddb161 Enable Ubuntu 24.04 group 6 in CI (#83466)
* Enable Ubuntu 24.04 group 6 in CI

* Disable rootfull Podman on Ubuntu

* Disable unix-chkpwd AppArmor profile on Ubuntu for Fedora 40 tests

* Document AppArmor and rootfull issues
2024-06-25 08:42:51 -07:00
Matt Clay a121a169e3 ansible-test - Replace FreeBSD 14.0 with 14.1 (#83477) 2024-06-20 15:20:10 -07:00