* Add logic for toggleable local commit override
* Document tweaked git force logic
* Add tests for new commit-aware force
* Refactor switch_version
- duplicate code paths when handling 'HEAD'
- Fixed a FIXME
* Add changelog fragment
* Fix sanity and use fstrings
* Address 'diverged' case
* Revert to old structure
- Still contains new functionality
- Still contains FIXME
* Remove comments
* Update test/integration/targets/git/tasks/localmods.yml
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* Move cleanup to always
---------
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
The git module hardcodes 'master' when comparing submodule versions
with track_submodules=yes. This fails for repositories that use a
different default branch (e.g. 'main').
Read the branch from .gitmodules for each submodule, falling back to
the remote HEAD if no branch is configured. This respects the
submodule's configured branch and works regardless of the default
branch name.
Fixes#77691
Signed-off-by: olegnazarov23 <olegnazarov23@users.noreply.github.com>
Co-authored-by: Abhijeet Kasurde <Akasurde@redhat.com>
* Add WORKER_SESSION_ISOLATION config for TTY sharing
* Worker should always be new PG leader
* Use non-deprecated os.setpgid for non-session-isolates case
* Validate session-isolated and not in signal_propagation integration test
* 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
* Enhance winrm connection failure
- Add winrm_hostname to the failure message for clarity
- Test that we're able to reach this message with a custom action plugin
* Create changelog fragment
* Make action plugin less verbose
* Remove more comments (they were bad)
* Upgrade coverage for Python 3.10+.
* Fix unit tests.
* Use ctrace to improve performance. It's unclear why this improves performance on Python 3.10 and 3.14.
* Add VALIDATE state to IteratingStates and FailedStates instead of overloading cur_regular_task, which marks the --start-at-task location.
fixes#86268
* Fix skipping validate_argspec by not tagging with 'always' when inheriting play-level tags. Now it aligns with play-level gather_facts tag usage.
* added the sorting of FILES.json based on name with ASCII2 ordering
* remove useless code
* Add comprehensive tests for FILES.json sorting to ensure reproducible builds
This commit adds tests to validate the FILES.json sorting feature implementation (issue #82792).
Unit Tests (test/units/galaxy/test_collection.py):
- test_build_files_manifest_sorted_by_name: Validates ASCII sorting
- test_build_files_manifest_walk_sorted_output: Tests walk function
- test_build_collection_reproducible_build: Ensures reproducibility
- test_build_files_manifest_special_characters_sorted: Edge cases
- test_files_json_has_sorted_keys: Validates JSON key ordering
- test_build_collection_large_number_of_files_sorted: Scale testing
Integration Tests (test/integration/.../build.yml):
- Multiple builds produce identical FILES.json
- Verify FILES.json reproducible across builds
- Verify all files in ASCII sorted order
- Validate FILES.json format and structure
- Verify each file entry has required fields
Per the comment that 'this should follow the same pattern as _build_collection_tar', add `sort_keys` to this invocation of `json.dumps`
Also removes a sort because files area already sorted in `_build_files_manifest`, which is the source of `file_manifest` in `_build_collection_dir`'s only invocation (line 1669)
Co-authored-by: Thomas Wang <yuanchen.wang@optus.com.au>
Co-authored-by: Thomas Wang <yctomwang123@gmail.com>
Co-authored-by: pvskp <pvincius14@gmail.com>
Currently when the editor returns a failure exit code in `ansible-vault edit`,
the original file is still being overwritten by whatever is in the temporary
file. This is undesirable when some process already made edits to the temporary
file and then later fails for some reason, since the file might only be
partially modified and thus corrupt.
Fix this by using `check_call()` instead of `call()` to throw an Exception when
the exit code is non-zero.
Co-authored-by: Matt Clay <matt@mystile.com>
* Register projections and action plugin variable API
Co-authored-by: Matt Clay <matt@mystile.com>
Co-authored-by: Patrick Kingston <pkingsto@redhat.com>
* While creating bare minimum container images, sometimes
/var/lib/apt/lists is removed.
Recreate this directory in order to update cache successfully.
Fixes: #61176
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
Co-authored-by: Sloane Hertel <19572925+shertel@users.noreply.github.com>