Skip to main content

Checks playbooks for practices and behavior that could potentially be improved

Project description

PyPI version Ansible-lint rules explanation Discussions

Ansible-lint

ansible-lint checks playbooks for practices and behavior that could potentially be improved. As a community-backed project ansible-lint supports only the last two major versions of Ansible.

Visit the Ansible Lint docs site

Using ansible-lint as a GitHub Action

This action allows you to run ansible-lint on your codebase without having to install it yourself.

# .github/workflows/ansible-lint.yml
name: ansible-lint
on:
  pull_request:
    branches: ["main", "stable", "release/v*"]
jobs:
  build:
    name: Ansible Lint # Naming the build is important to use it as a status check
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6
      - name: Run ansible-lint
        uses: ansible/ansible-lint@main # or vX.X.X version
        # optional (see below):
        with:
          args: ""
          gh_action_ref: "<version - e.g. `v25.5.0`>" # Not recommended for non-composite action use
          setup_python: "true"
          python_version: "3.14"
          working_directory: ""
          requirements_file: ""

By default, the workflow uses ansible-lint installed from main. For production or stable workflows, it is recommended to specify a particular release tag (in format v.X.X.X).

All the arguments are optional:

  • args: Arguments to be passed to ansible-lint command.
  • gh_action_ref: The git branch, tag, or commit to use for ansible-lint. Not recommended for standard use - only use with composite actions where GH_ACTION_REF is set to the parent action version.
  • requirements_file: Path to the requirements.yml file to install role and collection dependencies.
  • setup_python: If python should be installed. Default is true.
  • python_version: The version of python to install. Default is 3.14.
  • working_directory: The directory where to run ansible-lint from. Default is github.workspace. Needed if you want to lint only a subset of your repository.

For more details, see ansible-lint-action.

Communication

Refer to the Talk to us section of the Contributing guide to find out how to get in touch with us.

You can also find more information in the Ansible communication guide.

Contributing

Please read Contribution guidelines if you wish to contribute.

Code of Conduct

Please see the Ansible Community Code of Conduct.

Licensing

The ansible-lint project is distributed as GPLv3 due to use of GPLv3 runtime dependencies, like ansible and yamllint.

For historical reasons, its own code-base remains licensed under a more liberal MIT license and any contributions made are accepted as being made under original MIT license.

Authors

ansible-lint was created by Will Thames and is now maintained as part of the Ansible by Red Hat project.

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible_lint-26.2.0.tar.gz (745.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansible_lint-26.2.0-py3-none-any.whl (328.9 kB view details)

Uploaded Python 3

File details

Details for the file ansible_lint-26.2.0.tar.gz.

File metadata

  • Download URL: ansible_lint-26.2.0.tar.gz
  • Upload date:
  • Size: 745.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ansible_lint-26.2.0.tar.gz
Algorithm Hash digest
SHA256 cf3fdadae8bbcbd2f8fc077e3c7ebacbcf19cc6ade7b7db48c963e96601535e8
MD5 c28555db321de4f5acfaea6a911916e0
BLAKE2b-256 58373153ba44fe09b59fdeb8469037b5b2f9e3d5819eb161ed8af233adf02e06

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_lint-26.2.0.tar.gz:

Publisher: release.yml on ansible/ansible-lint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansible_lint-26.2.0-py3-none-any.whl.

File metadata

  • Download URL: ansible_lint-26.2.0-py3-none-any.whl
  • Upload date:
  • Size: 328.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ansible_lint-26.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e06fe9e63c559097199b4c3da18b5f66045af8c0694d81f74f40791006da713
MD5 e21f15edddaac862c5d042f2196dba5f
BLAKE2b-256 450204f1be0ecbd887f333b439dddc74084f1defb8c99df7f5546349aecce9a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansible_lint-26.2.0-py3-none-any.whl:

Publisher: release.yml on ansible/ansible-lint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page