Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
# whose base is another feature branch).
#
# Uses uv for Python dependency management (matching the project's
# existing tooling). Python 3.14 only — no matrix builds.
# existing tooling). Python 3.14 only for AOM; a separate job tests supported
# ansible-core minor versions against the real-Ansible integration smoke tests.

name: CI

Expand Down Expand Up @@ -63,6 +64,35 @@ jobs:
/tmp/aom-ci-smoke/bin/aom --help >/dev/null
/tmp/aom-ci-smoke/bin/python -c 'from pathlib import Path; import ansible_aom.ansible.runner as r; assert (Path(r.__file__).parent / "callback" / "aom_jsonl.py").is_file()'

ansible-compatibility:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ansible_core: ["2.20.*", "2.21.*"]
steps:
- uses: actions/checkout@v7

- uses: astral-sh/setup-uv@v7

- uses: actions/setup-python@v7
with:
python-version: "3.14"

- name: Install AOM and ansible-core ${{ matrix.ansible_core }}
run: |
uv sync --no-default-groups --extra dev --no-install-project
uv pip install -e . "ansible-core==${{ matrix.ansible_core }}"

- name: Install ansible.posix callback collection
run: uv run ansible-galaxy collection install ansible.posix

- name: Show tested Ansible version
run: uv run ansible-playbook --version

- name: Run real-Ansible compatibility smoke tests
run: uv run --no-sync pytest tests/integration/test_real_ansible.py -q

nix:
runs-on: ubuntu-24.04
permissions:
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,10 @@ uv run pip install -e .

Requirements: Python ≥ 3.14, plus a working `ansible-playbook` on your
`$PATH`. AOM never imports `ansible-core`; it shells out and parses the
JSONL callback.
JSONL callback. The real-Ansible integration smoke tests pass locally with
ansible-core 2.20.11 and 2.21.5. CI is configured to run them against the
latest patch releases in both the 2.20 and 2.21 minor lines. Other versions
may work, but are not currently covered by that matrix.

After install, sanity check:

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@

[project]
name = "ansible-aom"
version = "0.102.13"
version = "0.102.14"
description = "Ansible Output Monitor - nom-style TUI for ansible-playbook"
readme = "README.md"
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
authors = [
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading