mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-10 22:55:27 +01:00
Compare commits
7 commits
13c55aeaeb
...
23ec1fab5d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23ec1fab5d | ||
|
|
5f44339fa5 | ||
|
|
7d5aef07e2 | ||
|
|
8cdf51b3b3 | ||
|
|
0b6eb4506b | ||
|
|
dea22dcf4e | ||
|
|
dd3b97069b |
6 changed files with 113 additions and 25 deletions
|
|
@ -57,6 +57,21 @@ stages:
|
||||||
test: units
|
test: units
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
|
- stage: Sanity_2_20
|
||||||
|
displayName: Ansible 2.20 Sanity & Units & Lint
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: "{0}"
|
||||||
|
testFormat: 2.20/{0}
|
||||||
|
targets:
|
||||||
|
- name: Sanity
|
||||||
|
test: sanity
|
||||||
|
- name: Units
|
||||||
|
test: units
|
||||||
|
- name: Lint
|
||||||
|
test: lint
|
||||||
- stage: Sanity_2_19
|
- stage: Sanity_2_19
|
||||||
displayName: Ansible 2.19 Sanity & Units & Lint
|
displayName: Ansible 2.19 Sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
|
|
@ -132,6 +147,20 @@ stages:
|
||||||
test: ubuntu2204
|
test: ubuntu2204
|
||||||
- name: Ubuntu 24.04
|
- name: Ubuntu 24.04
|
||||||
test: ubuntu2404
|
test: ubuntu2404
|
||||||
|
- stage: Docker_2_20
|
||||||
|
displayName: Docker 2.20
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.20/linux/{0}/1
|
||||||
|
targets:
|
||||||
|
- name: Fedora 42
|
||||||
|
test: fedora42
|
||||||
|
- name: Ubuntu 22.04
|
||||||
|
test: ubuntu2204
|
||||||
|
- name: Ubuntu 24.04
|
||||||
|
test: ubuntu2404
|
||||||
- stage: Docker_2_19
|
- stage: Docker_2_19
|
||||||
displayName: Docker 2.19
|
displayName: Docker 2.19
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
|
|
@ -204,6 +233,22 @@ stages:
|
||||||
test: freebsd/14.3
|
test: freebsd/14.3
|
||||||
- name: FreeBSD 13.5
|
- name: FreeBSD 13.5
|
||||||
test: freebsd/13.5
|
test: freebsd/13.5
|
||||||
|
- stage: Remote_2_20
|
||||||
|
displayName: Remote 2.20
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.20/{0}/1
|
||||||
|
targets:
|
||||||
|
- name: RHEL 10.0
|
||||||
|
test: rhel/10.0
|
||||||
|
- name: RHEL 9.6
|
||||||
|
test: rhel/9.6
|
||||||
|
- name: FreeBSD 14.3
|
||||||
|
test: freebsd/14.3
|
||||||
|
- name: FreeBSD 13.5
|
||||||
|
test: freebsd/13.5
|
||||||
- stage: Remote_2_19
|
- stage: Remote_2_19
|
||||||
displayName: Remote 2.19
|
displayName: Remote 2.19
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
|
|
@ -228,6 +273,8 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.18/{0}/1
|
testFormat: 2.18/{0}/1
|
||||||
targets:
|
targets:
|
||||||
|
- name: RHEL 10.0
|
||||||
|
test: rhel/10.0
|
||||||
- name: RHEL 9.4
|
- name: RHEL 9.4
|
||||||
test: rhel/9.4
|
test: rhel/9.4
|
||||||
- name: FreeBSD 13.5
|
- name: FreeBSD 13.5
|
||||||
|
|
@ -240,8 +287,9 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.17/{0}/1
|
testFormat: 2.17/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- name: RHEL 9.3
|
# 2.17 remote target doesn't have RHEL 9 image
|
||||||
test: rhel/9.3
|
- name: RHEL 10.0
|
||||||
|
test: rhel/10.0
|
||||||
- name: FreeBSD 13.5
|
- name: FreeBSD 13.5
|
||||||
test: freebsd/13.5
|
test: freebsd/13.5
|
||||||
- stage: Remote_2_16
|
- stage: Remote_2_16
|
||||||
|
|
@ -252,10 +300,9 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.16/{0}/1
|
testFormat: 2.16/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- name: RHEL 8.8
|
# 2.16 remote target only has RHEL 9.6 image
|
||||||
test: rhel/8.8
|
- name: RHEL 9.6
|
||||||
- name: RHEL 9.2
|
test: rhel/9.6
|
||||||
test: rhel/9.2
|
|
||||||
|
|
||||||
## Finally
|
## Finally
|
||||||
|
|
||||||
|
|
@ -274,6 +321,9 @@ stages:
|
||||||
- Sanity_2_19
|
- Sanity_2_19
|
||||||
- Remote_2_19
|
- Remote_2_19
|
||||||
- Docker_2_19
|
- Docker_2_19
|
||||||
|
- Sanity_2_20
|
||||||
|
- Remote_2_20
|
||||||
|
- Docker_2_20
|
||||||
- Sanity_devel
|
- Sanity_devel
|
||||||
- Remote_devel
|
- Remote_devel
|
||||||
- Docker_devel
|
- Docker_devel
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- synchronize - user-defined ``--out-format`` in ``rsync_opts`` is now honored in the returned output. (https://github.com/ansible-collections/ansible.posix/pull/428)
|
||||||
5
changelogs/fragments/693_azp_update_20251205.yml
Normal file
5
changelogs/fragments/693_azp_update_20251205.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
trivial:
|
||||||
|
- AZP - Update AZP matrix to follow ansible-test changes.
|
||||||
|
- Add ignore file for Ansible Core 2.21.
|
||||||
|
- Remove ignore lines for ansible-bad-import-from in 2.20 sanity tests.
|
||||||
|
|
@ -366,6 +366,7 @@ EXAMPLES = r'''
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import errno
|
import errno
|
||||||
|
import re
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils._text import to_bytes, to_native
|
from ansible.module_utils._text import to_bytes, to_native
|
||||||
|
|
@ -597,8 +598,19 @@ def main():
|
||||||
module.fail_json(msg='Hardlinking into a subdirectory of the source would cause recursion. %s and %s' % (destination_path, dest))
|
module.fail_json(msg='Hardlinking into a subdirectory of the source would cause recursion. %s and %s' % (destination_path, dest))
|
||||||
cmd.append('--link-dest=%s' % link_path)
|
cmd.append('--link-dest=%s' % link_path)
|
||||||
|
|
||||||
changed_marker = '<<CHANGED>>'
|
# find the last specified out-format
|
||||||
cmd.append('--out-format=%s' % shlex_quote(changed_marker + '%i %n%L'))
|
out_format = ''
|
||||||
|
for rsync_opt in rsync_opts:
|
||||||
|
if rsync_opt.startswith('--out-format='):
|
||||||
|
out_format = rsync_opt.replace('--out-format=', '', 1)
|
||||||
|
|
||||||
|
# force a known out-format so we can test for changes and return a known format of diff
|
||||||
|
diff_marker = 'DIFF'
|
||||||
|
if out_format == '' or module._diff:
|
||||||
|
diff_detail = '%n%L'
|
||||||
|
else:
|
||||||
|
diff_detail = ''
|
||||||
|
cmd.append('--out-format=%s' % shlex_quote('%s//%s//%%i//%s' % (out_format, diff_marker, diff_detail)))
|
||||||
|
|
||||||
cmd.append(shlex_quote(source))
|
cmd.append(shlex_quote(source))
|
||||||
cmd.append(shlex_quote(dest))
|
cmd.append(shlex_quote(dest))
|
||||||
|
|
@ -624,18 +636,36 @@ def main():
|
||||||
if rc:
|
if rc:
|
||||||
return module.fail_json(msg=err, rc=rc, cmd=cmdstr)
|
return module.fail_json(msg=err, rc=rc, cmd=cmdstr)
|
||||||
|
|
||||||
if link_dest:
|
changed = False
|
||||||
# a leading period indicates no change
|
diff = []
|
||||||
changed = (changed_marker + '.') not in out
|
out_lines = []
|
||||||
else:
|
# remove forced out-format suffix, check for file changes
|
||||||
changed = changed_marker in out
|
for line in out.split('\n'):
|
||||||
|
match = re.match('(.*)//%s//(...*?)//(.*)$' % diff_marker, line)
|
||||||
|
if match:
|
||||||
|
default_diff = '%s %s' % (match.group(2), match.group(3))
|
||||||
|
|
||||||
out_clean = out.replace(changed_marker, '')
|
if module._diff:
|
||||||
out_lines = out_clean.split('\n')
|
diff.append(default_diff)
|
||||||
|
|
||||||
|
if out_format == '':
|
||||||
|
out_lines.append(default_diff)
|
||||||
|
else:
|
||||||
|
out_lines.append(match.group(1))
|
||||||
|
|
||||||
|
# a period in the first position indicates no changes to the file's contents
|
||||||
|
# a period in every other position from the third onward indicates no attribute changes
|
||||||
|
if not re.match(r'\..\.*$', match.group(2)):
|
||||||
|
changed = True
|
||||||
|
else:
|
||||||
|
out_lines.append(line)
|
||||||
|
|
||||||
|
out_clean = '\n'.join(out_lines)
|
||||||
while '' in out_lines:
|
while '' in out_lines:
|
||||||
out_lines.remove('')
|
out_lines.remove('')
|
||||||
|
|
||||||
if module._diff:
|
if module._diff:
|
||||||
diff = {'prepared': out_clean}
|
diff = {'prepared': '\n'.join(diff)}
|
||||||
return module.exit_json(changed=changed, msg=out_clean,
|
return module.exit_json(changed=changed, msg=out_clean,
|
||||||
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
|
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
|
||||||
diff=diff)
|
diff=diff)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1 @@
|
||||||
tests/utils/shippable/timing.py shebang
|
tests/utils/shippable/timing.py shebang
|
||||||
plugins/action/synchronize.py pylint:ansible-bad-import-from
|
|
||||||
plugins/callback/cgroup_perf_recap.py pylint:ansible-bad-import-from
|
|
||||||
plugins/modules/mount.py pylint:ansible-bad-import-from
|
|
||||||
plugins/modules/sysctl.py pylint:ansible-bad-import-from
|
|
||||||
plugins/shell/csh.py pylint:ansible-bad-import-from
|
|
||||||
plugins/shell/fish.py pylint:ansible-bad-import-from
|
|
||||||
tests/unit/mock/procenv.py pylint:ansible-bad-import-from
|
|
||||||
tests/unit/mock/yaml_helper.py pylint:ansible-bad-import-from
|
|
||||||
tests/unit/modules/conftest.py pylint:ansible-bad-import-from
|
|
||||||
|
|
|
||||||
10
tests/sanity/ignore-2.21.txt
Normal file
10
tests/sanity/ignore-2.21.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
tests/utils/shippable/timing.py shebang
|
||||||
|
plugins/action/synchronize.py pylint:ansible-bad-import-from
|
||||||
|
plugins/callback/cgroup_perf_recap.py pylint:ansible-bad-import-from
|
||||||
|
plugins/modules/mount.py pylint:ansible-bad-import-from
|
||||||
|
plugins/modules/sysctl.py pylint:ansible-bad-import-from
|
||||||
|
plugins/shell/csh.py pylint:ansible-bad-import-from
|
||||||
|
plugins/shell/fish.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/mock/procenv.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/mock/yaml_helper.py pylint:ansible-bad-import-from
|
||||||
|
tests/unit/modules/conftest.py pylint:ansible-bad-import-from
|
||||||
Loading…
Reference in a new issue