ansible-lint-role/action.yml

44 lines
1.4 KiB
YAML

---
name: run-ansible-lint-role
description: Run Ansible Lint on a role using our defaults.
author: Michael Sasser <info@michaelsasser.org>
branding:
icon: shield
color: blue
inputs:
args:
description: Arguments to be passed to ansible-lint command. Defaults to '--show-relpath'
required: false
default: "--show-relpath"
runs:
using: composite
steps:
# Check if dependencies exist.
- name: Check if the role has dependencies
shell: bash
id: get-role-dependencies
run: |
if test -f "${{ github.workspace }}/meta/requirements.yml"; then
echo "The role has dependencies"
echo '::set-output name=has_dependencies::true'
else
echo "The role does not have dependencies"
echo '::set-output name=has_dependencies::false'
fi
# Run linter
- name: Run ansible-lint (with dependencies)
if: ${{ steps.get-role-dependencies.outputs.has_dependencies == 'true' }}
uses: https://git.michaelsasser.org/actions/ansible-lint@main
with:
args: ${{ inputs.args }}
requirements_file: ${{ github.workspace }}/meta/requirements.yml
- name: Run ansible-lint (without dependencies) # same but without: requirements_file
if: ${{ steps.get-role-dependencies.outputs.has_dependencies == 'false' }}
uses: https://git.michaelsasser.org/actions/ansible-lint@main
with:
args: ${{ inputs.args }}