Skip to content

Commit

Permalink
github: add syntax and lint checks
Browse files Browse the repository at this point in the history
Run Ansible's syntax checks and ansible-lint on every PR and Git push.

Ignore some common ansible-lint errors so we can get to green quickly.
We can re-evaluate this list later and perhaps fix some of them down the
road.
  • Loading branch information
ktdreyer committed Apr 24, 2023
1 parent f9be95d commit 4b972aa
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
skip_list:
- command-instead-of-module
- command-instead-of-shell
- deprecated-command-syntax
- deprecated-local-action
- empty-string-compare
- experimental
- fqcn[action-core]
- fqcn[action]
- git-latest
- jinja
- literal-compare
- load-failure
- meta-no-info
- name[casing]
- no-changed-when
- no-handler
- no-jinja-when
- no-relative-paths
- no-tabs
- package-latest
- risky-file-permissions
- risky-shell-pipe
- role-name
- unnamed-task
38 changes: 38 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: tests

on: [push, pull_request]

jobs:
syntax-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install ansible
run: |
sudo apt-get update
sudo apt-get purge ansible
sudo apt-get install python3-setuptools
pip3 install ansible --user
- name: ansible-playbook syntax check
run: |
export PATH=$PATH:$HOME/.local/bin
touch ~/.vault_pass.txt
ansible-playbook -i localhost, cephlab.yml --syntax-check
ansible-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install ansible-lint
run: |
sudo apt-get update
sudo apt-get purge ansible
sudo apt-get install python3-setuptools
# This pinned ansible version should match teuthology's
# requirements.txt.
# And we choose an ansible-lint version to be compatible with this
# Ansible version.
pip3 install ansible==2.10.7 ansible-lint[core]==5.4.0 --user
- name: Run ansible-lint
run: |
export PATH=$PATH:$HOME/.local/bin
ansible-lint -v roles/*

0 comments on commit 4b972aa

Please sign in to comment.