mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-05-14 05:22:05 +00:00
Merge pull request #690 from rjeffman/shellcheck
CI: Add supoprt for Shellcheck
This commit is contained in:
8
.github/workflows/lint.yml
vendored
8
.github/workflows/lint.yml
vendored
@@ -76,3 +76,11 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
pip install pylint==2.10.2
|
pip install pylint==2.10.2
|
||||||
pylint plugins --disable=import-error
|
pylint plugins --disable=import-error
|
||||||
|
|
||||||
|
shellcheck:
|
||||||
|
name: Shellcheck
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run ShellCheck
|
||||||
|
uses: ludeeus/action-shellcheck@1.1.0
|
||||||
|
|||||||
@@ -38,3 +38,8 @@ repos:
|
|||||||
entry: utils/ansible-doc-test
|
entry: utils/ansible-doc-test
|
||||||
# args: ['-v', 'roles', 'plugins']
|
# args: ['-v', 'roles', 'plugins']
|
||||||
files: ^.*.py$
|
files: ^.*.py$
|
||||||
|
- repo: https://github.com/koalaman/shellcheck-precommit
|
||||||
|
rev: v0.8.0
|
||||||
|
hooks:
|
||||||
|
- id: shellcheck
|
||||||
|
args: ["--severity=warning"] # Only show errors and warnings
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ collection="${2-ansible_freeipa}"
|
|||||||
collection_prefix="${namespace}.${collection}"
|
collection_prefix="${namespace}.${collection}"
|
||||||
|
|
||||||
galaxy_version=$(git describe --tags | sed -e "s/^v//")
|
galaxy_version=$(git describe --tags | sed -e "s/^v//")
|
||||||
echo $galaxy_version | grep "-" -q || galaxy_version="${galaxy_version}"
|
|
||||||
sed -i -e "s/version: .*/version: \"$galaxy_version\"/" galaxy.yml
|
sed -i -e "s/version: .*/version: \"$galaxy_version\"/" galaxy.yml
|
||||||
sed -i -e "s/namespace: .*/namespace: \"$namespace\"/" galaxy.yml
|
sed -i -e "s/namespace: .*/namespace: \"$namespace\"/" galaxy.yml
|
||||||
sed -i -e "s/name: .*/name: \"$collection\"/" galaxy.yml
|
sed -i -e "s/name: .*/name: \"$collection\"/" galaxy.yml
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ release=${git_version#*-}
|
|||||||
release=${release//-/_}
|
release=${release//-/_}
|
||||||
|
|
||||||
date=$(date "+%a %b %e %Y")
|
date=$(date "+%a %b %e %Y")
|
||||||
topdir=$(dirname $0)
|
topdir=$(dirname "$0")
|
||||||
|
|
||||||
sed -e "s/@@VERSION@@/$version/g" -e "s/@@RELEASE@@/$release/g" -e "s/@@DATE@@/$date/g" $topdir/ansible-freeipa.spec.in > ansible-freeipa.spec
|
sed -e "s/@@VERSION@@/$version/g" -e "s/@@RELEASE@@/$release/g" -e "s/@@DATE@@/$date/g" "$topdir/ansible-freeipa.spec.in" > ansible-freeipa.spec
|
||||||
|
|
||||||
git archive --format=tar --prefix=ansible-freeipa-${version}-${release}/ 'HEAD' | bzip2 -c > ansible-freeipa-${version}-${release}.tar.bz2
|
git archive --format=tar --prefix="ansible-freeipa-${version}-${release}/" 'HEAD' | bzip2 -c > "ansible-freeipa-${version}-${release}.tar.bz2"
|
||||||
|
|
||||||
rpmbuild --define "_sourcedir $PWD" -bs ansible-freeipa.spec
|
rpmbuild --define "_sourcedir $PWD" -bs ansible-freeipa.spec
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
for i in roles/ipa*/*/*.py; do
|
for i in roles/ipa*/*/*.py; do
|
||||||
python utils/gen_module_docs.py $i
|
python utils/gen_module_docs.py "$i"
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -4,14 +4,16 @@ INFO="\033[37;1m"
|
|||||||
WARN="\033[33;1m"
|
WARN="\033[33;1m"
|
||||||
RST="\033[0m"
|
RST="\033[0m"
|
||||||
|
|
||||||
pushd "`dirname $0`/.." >/dev/null 2>&1
|
topdir=$(dirname "$0")
|
||||||
|
|
||||||
|
pushd "${topdir}/.." >/dev/null 2>&1 || exit 1
|
||||||
|
|
||||||
echo -e "${INFO}Running 'flake8'...${RST}"
|
echo -e "${INFO}Running 'flake8'...${RST}"
|
||||||
flake8 plugins utils roles *.py
|
flake8 plugins utils roles setup.py
|
||||||
echo -e "${INFO}Running 'pydocstyle'...${RST}"
|
echo -e "${INFO}Running 'pydocstyle'...${RST}"
|
||||||
pydocstyle plugins utils roles *.py
|
pydocstyle plugins utils roles setup.py
|
||||||
echo -e "${INFO}Running 'pylint'...${RST}"
|
echo -e "${INFO}Running 'pylint'...${RST}"
|
||||||
pylint plugins *.py
|
pylint plugins setup.py
|
||||||
|
|
||||||
ANSIBLE_LIBRARY="${ANSIBLE_LIBRARY:-plugins/modules}"
|
ANSIBLE_LIBRARY="${ANSIBLE_LIBRARY:-plugins/modules}"
|
||||||
ANSIBLE_MODULE_UTILS="${ANSIBLE_MODULE_UTILS:-plugins/module_utils}"
|
ANSIBLE_MODULE_UTILS="${ANSIBLE_MODULE_UTILS:-plugins/module_utils}"
|
||||||
@@ -27,7 +29,7 @@ playbook_dirs=(
|
|||||||
ansible-lint --force-color "${playbook_dirs[@]}"
|
ansible-lint --force-color "${playbook_dirs[@]}"
|
||||||
|
|
||||||
echo -e "${INFO}Running 'ansible-doc-test'...${RST}"
|
echo -e "${INFO}Running 'ansible-doc-test'...${RST}"
|
||||||
python "`dirname $0`/ansible-doc-test" -v roles plugins
|
python "${topdir}/ansible-doc-test" -v roles plugins
|
||||||
|
|
||||||
echo -e "${INFO}Running 'yamllint'...${RST}"
|
echo -e "${INFO}Running 'yamllint'...${RST}"
|
||||||
yaml_dirs=(
|
yaml_dirs=(
|
||||||
@@ -38,4 +40,4 @@ yaml_dirs=(
|
|||||||
)
|
)
|
||||||
yamllint -f colored "${yaml_dirs[@]}"
|
yamllint -f colored "${yaml_dirs[@]}"
|
||||||
|
|
||||||
popd >/dev/null 2>&1
|
popd >/dev/null 2>&1 || exit 1
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
prog=`basename $0`
|
prog="$(basename "$0")"
|
||||||
topdir=$(dirname $0)
|
topdir="$(dirname "$0")"
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
@@ -136,51 +136,51 @@ fi
|
|||||||
# TEMPLATE function
|
# TEMPLATE function
|
||||||
|
|
||||||
function template() {
|
function template() {
|
||||||
s=$1
|
s="$1"
|
||||||
d=$2
|
d="$2"
|
||||||
sed -e "s/\$name/$name/g" \
|
sed -e "s/\$name/$name/g" \
|
||||||
-e "s/\${name}/${name}/g" \
|
-e "s/\${name}/${name}/g" \
|
||||||
-e "s/\${name^}/${name^}/g" \
|
-e "s/\${name^}/${name^}/g" \
|
||||||
-e "s/\$author/$author/g" \
|
-e "s/\$author/$author/g" \
|
||||||
-e "s/\$email/$email/" \
|
-e "s/\$email/$email/" \
|
||||||
-e "s/\$year/$year/" \
|
-e "s/\$year/$year/" \
|
||||||
$topdir/templates/$s > $d
|
"$topdir/templates/$s" > "$d"
|
||||||
}
|
}
|
||||||
|
|
||||||
# MODULE
|
# MODULE
|
||||||
|
|
||||||
dest=plugins/modules
|
dest=plugins/modules
|
||||||
mkdir -p $dest
|
mkdir -p "$dest"
|
||||||
|
|
||||||
src=ipamodule.py.in
|
src=ipamodule.py.in
|
||||||
[ $member == 1 ] && src=ipamodule+member.py.in
|
[ "$member" == "1" ] && src=ipamodule+member.py.in
|
||||||
template $src $dest/ipa$name.py
|
template "$src" "$dest/ipa$name.py"
|
||||||
|
|
||||||
# README
|
# README
|
||||||
|
|
||||||
src=README-module.md.in
|
src=README-module.md.in
|
||||||
[ $member == 1 ] && src=README-module+member.md.in
|
[ "$member" == "1" ] && src=README-module+member.md.in
|
||||||
template $src README-$name.md
|
template "$src" "README-$name.md"
|
||||||
|
|
||||||
# PLAYBOOKS
|
# PLAYBOOKS
|
||||||
|
|
||||||
dest=playbooks/$name
|
dest="playbooks/$name"
|
||||||
mkdir -p $dest
|
mkdir -p "$dest"
|
||||||
|
|
||||||
template module-present.yml.in $dest/$name-present.yml
|
template module-present.yml.in "$dest/$name-present.yml"
|
||||||
template module-absent.yml.in $dest/$name-absent.yml
|
template module-absent.yml.in "$dest/$name-absent.yml"
|
||||||
|
|
||||||
if [ $member == 1 ]; then
|
if [ "$member" == "1" ]; then
|
||||||
template module-member-present.yml.in $dest/$name-member-present.yml
|
template module-member-present.yml.in "$dest/$name-member-present.yml"
|
||||||
template module-member-absent.yml.in $dest/$name-member-absent.yml
|
template module-member-absent.yml.in "$dest/$name-member-absent.yml"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TESTS
|
# TESTS
|
||||||
|
|
||||||
dest=tests/$name
|
dest="tests/$name"
|
||||||
mkdir -p $dest
|
mkdir -p "$dest"
|
||||||
|
|
||||||
src=test_module.yml.in
|
src=test_module.yml.in
|
||||||
[ $member == 1 ] && src=test_module+member.yml.in
|
[ "$member" == "1" ] && src=test_module+member.yml.in
|
||||||
template $src $dest/test_$name.yml
|
template "$src" "$dest/test_$name.yml"
|
||||||
template test_module_client_context.yml.in $dest/test_${name}_client_context.yml
|
template test_module_client_context.yml.in "$dest/test_${name}_client_context.yml"
|
||||||
|
|||||||
Reference in New Issue
Block a user