Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Apr 20:14
· 17 commits to main since this release

v2.0.0 (2026-04-27)

Bug Fixes

  • Add support for -- in CLI (0a3997f)

With the adoption of typer it was no longer interpreted as a separator of arguments but rather passed literally to the underlying command, causing error.

  • Configure typer to accept -h as an alias for --help (66d928a)

  • Correct CLI flag name and stale doc examples (5f804b5)

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Guard against click<8.2.0 missing NoArgsIsHelpError (121be1a)

NoArgsIsHelpError was introduced in click 8.2.0; CI environments with click 8.1.x raised AttributeError when evaluating the except clause. Import it at module load time with a harmless fallback for older click.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Chores

  • Add CLAUDE.md file (5818f77)

  • Adjust wording (8b04040)

  • Adjust year of copyright (2ff645b)

  • Remove TODO.md, replaced by GitHub issues (5680f74)

Items tracked in GH issues #212, #213, #214, #215, #216.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • deps: Bump cryptography from 46.0.6 to 46.0.7 (5668528)

Bumps cryptography from 46.0.6 to 46.0.7.


updated-dependencies:

  • dependency-name: cryptography dependency-version: 46.0.7

dependency-type: indirect ...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump the python-dependencies group across 1 directory with 2 updates (77fa9b1)

Bumps the python-dependencies group with 1 update in the / directory: typer.

Updates typer from 0.23.1 to 0.25.0 - Release notes - Changelog - Commits

Updates python-semantic-release from 10.5.3 to 9.21.1 - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: typer dependency-version: 0.25.0

dependency-type: direct:production

update-type: version-update:semver-minor

dependency-group: python-dependencies

  • dependency-name: python-semantic-release dependency-version: 9.21.1

dependency-type: direct:development

update-type: version-update:semver-major

dependency-group: python-dependencies ...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump the python-dependencies group with 2 updates (e56c9a0)

Bumps the python-dependencies group with 2 updates: tox and pytest.

Updates tox from 4.52.0 to 4.52.1 - Release notes - Changelog - Commits

Updates pytest from 9.0.2 to 9.0.3 - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tox dependency-version: 4.52.1

dependency-type: direct:production

update-type: version-update:semver-patch

dependency-group: python-dependencies

  • dependency-name: pytest dependency-version: 9.0.3

dependency-type: direct:development

dependency-group: python-dependencies ...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tox in the python-dependencies group (cfeb2a8)

Bumps the python-dependencies group with 1 update: tox.

Updates tox from 4.52.1 to 4.53.0


updated-dependencies:

  • dependency-name: tox dependency-version: 4.53.0

dependency-type: direct:production

update-type: version-update:semver-minor

dependency-group: python-dependencies ...

Signed-off-by: dependabot[bot] support@github.com

  • deps-dev: Bump gitpython from 3.1.46 to 3.1.47 (2669745)

Bumps gitpython from 3.1.46 to 3.1.47.


updated-dependencies:

  • dependency-name: gitpython dependency-version: 3.1.47

dependency-type: direct:development ...

Signed-off-by: dependabot[bot] support@github.com

  • devcontainer: Replace Dockerfile with post-create.sh script (fe8ba50)

Move pip installs from Dockerfile and postCreateCommand into a single post-create.sh script; switch devcontainer.json to use the base image directly. Also replaces tox with poethepoet in the bootstrap installs.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • tooling: Enforce poetry.lock freshness in CI and pre-commit (e7e76e3)

Add poetry lock --check to all CI workflows and a local pre-commit hook so stale lock files are caught before commit and in CI rather than silently regenerated.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • tooling: Replace tox/flake8/black/pylint with ruff and poethepoet (6736c20)

  • Delete tox.ini, .flake8, .pylintrc

  • Add ruff.toml with settings ported from .flake8 (line-length, E203, complexity, isort)

  • Add ruff and poethepoet as dev dependencies; remove flake8 and pylint

  • Define poe tasks: test, lint, fmt, check, qa, docs, deps

  • Replace black+flake8+reorder-python-imports pre-commit hooks with ruff-pre-commit

  • Update CI workflows to use ruff check instead of flake8

  • Update CLAUDE.md to document new workflow

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • tooling: Use poe tasks in GitHub Actions workflows (c53b484)

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Code Style

  • Reformat code (ad82722)

  • Remove utf-8 coding declarations from all Python files (db8ba7e)

Redundant since Python 3 defaults to utf-8.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Continuous Integration

Documentation

  • Generate nox-test version matrix table dynamically from VERSION_MATRIX (922265b)

Adds a list-table (ansible-core × Python) to docs/actions/noxtest.rst, built at Sphinx time from the VERSION_MATRIX in noxtest.py so the docs stay in sync automatically. Also expands VERSION_MATRIX with the full set of supported Python versions per ansible-core release.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Update asciiciname gifs (1de70dd)

  • Update CLAUDE.md to reflect typer migration (58e083a)

Replace stale argparse/AndeboxAction plugin system description with the current typer-based architecture (modules exposing app = typer.Typer()).

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Update test subcommand examples for typer idiom (000c192)

Move the test type argument before '--' to match the typer/Click convention, e.g. andebox test sanity -- --docker ....

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Features

  • Add nox-test action for multi-version ansible testing (4537f86)

Adds a new nox-test action that runs ansible-test within nox across multiple ansible-core and Python version combinations. All session definitions are encapsulated inside andebox — no noxfile.py required. Sessions are registered programmatically via nox's registry API and executed through nox.workflow.execute.

Supports --ansible-core/-a and --python/-p flags to filter the version matrix, plus --session/-s for direct session selection. Default run uses one Python per ansible-core version.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • New release (04eb625)

  • Replace argparse/argcomplete with typer (a18d2f0)

Migrate CLI and all actions from argparse+argcomplete to Typer. Move andebox_context to context.py and remove the now-empty actions/base module. Update docs and pyproject.toml accordingly.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Replace argparse/argcomplete with typer (5b691bf)

  • pyproject.toml: swap argcomplete for typer - context.py: drop argparse Namespace/ArgumentParser; add _ErrorReporter that preserves the "andebox: error:" format; create_context(args) now takes a SimpleNamespace - actions/base.py: keep AndeboxAction intact; add andebox_context() helper that builds the SimpleNamespace from typer ctx.obj + per-action kwargs and chdirs into base_dir - cli.py: replace argparse/_make_parser/AndeboxAction discovery with a typer app; discover action sub-apps by looking for app: typer.Typer on each action module - actions/*: each module keeps its class body unchanged; a thin typer callback and app are appended at the bottom - tests/test_andebox_context.py: drop _make_parser dependency; pass SimpleNamespace directly to create_context

Co-Authored-By: Claude Sonnet 4.6 (1M context) noreply@anthropic.com

Refactoring

  • Consolidate features in andebox_context (41a9248)

  • temp_tree

  • collection checks

  • exception handling

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Use pathlib instead of os.* (9ed0dca)

Testing

  • Remove ansible-core 2.17, add 2.21 + devel (c203687)

Update project dependencies and lock.


Detailed Changes: v1.10.0...v2.0.0