mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-10 18:55:53 +00:00
This test is using the galaxy_importer from ansible project. The
configuration file galaxy-importer.cfg is copied from linux-system-roles
https://github.com/linux-system-roles/auto-maintenance/blob/master/\
lsr_role2collection/galaxy-importer.cfg
The tests script has extra code to parse the output of the importer to
highlight errors and to exit with a proper error code.
The test can be used locally also with "sh tests/sanity/sanity.sh"
New files:
- .github/workflows/ansible-test.yml
- tests/sanity/galaxy-importer.cfg
- tests/sanity/sanity.sh
37 lines
749 B
Bash
37 lines
749 B
Bash
#!/bin/bash
|
|
|
|
VENV=/tmp/ansible-test-venv
|
|
ANSIBLE_COLLECTION=freeipa-ansible_freeipa
|
|
|
|
virtualenv "$VENV"
|
|
# shellcheck disable=SC1091
|
|
source "$VENV"/bin/activate
|
|
|
|
python -m pip install --upgrade pip
|
|
pip install galaxy_importer
|
|
|
|
rm -f "$ANSIBLE_COLLECTION"-*.tar.gz
|
|
rm -f importer_result.json
|
|
|
|
utils/build-galaxy-release.sh
|
|
|
|
export GALAXY_IMPORTER_CONFIG=tests/sanity/galaxy-importer.cfg
|
|
|
|
collection=$(ls -1 "$ANSIBLE_COLLECTION"-*.tar.gz)
|
|
echo "Running: python -m galaxy_importer.main $collection"
|
|
|
|
error=0
|
|
while read -r line;
|
|
do
|
|
if [[ $line == ERROR* ]]; then
|
|
((error++))
|
|
echo -e "\033[31;1m${line}\033[0m"
|
|
else
|
|
echo "$line"
|
|
fi
|
|
done < <(python -m galaxy_importer.main "$collection")
|
|
|
|
rm -rf "$VENV"
|
|
|
|
exit "$error"
|