pantry/projects/ansible.com/package.yml
Jacob Heider 7bada74168 cleanup(ansible)
get rid of some fixmes
2024-05-27 20:01:08 -04:00

65 lines
2.1 KiB
YAML

distributable:
url: https://github.com/ansible/ansible/archive/{{version.tag}}.tar.gz
strip-components: 1
versions:
github: ansible/ansible/tags # reads github *tags*
dependencies:
pkgx.sh: 1
build:
dependencies:
python.org: '>=3.7<3.12'
script:
- bkpyvenv stage {{prefix}} {{version}}
- ${{prefix}}/venv/bin/pip install .
# install paramiko, a python ssh library sometimes used with ansible
- ${{prefix}}/venv/bin/pip install paramiko
- bkpyvenv seal {{prefix}} ansible ansible-config ansible-connection ansible-console ansible-doc ansible-galaxy ansible-inventory ansible-playbook ansible-pull ansible-test ansible-vault
# needs libpython
- run: cp -a {{deps.python.org.prefix}}/lib/libpython* .
working-directory: ${{prefix}}/lib/
test:
script:
- ansible --version
- ansible-playbook playbook.yml -i hosts.ini
#FIXME below is a test from the brew formula, but I'm not sure what it's testing
# ^ especially considering that 'requests' is not a part of ansible's dependencies
# Ensure requests[security] is activated
# py_script="import requests as r; r.get('https://mozilla-modern.badssl.com')"
# {{prefix}}/venv/bin/python -c "$py_script"
# Ensure ansible-vault can encrypt/decrypt files.
- echo $SECRET_MESSAGE > vault-test-file.txt
- echo $VAULT_PASSWORD > vault-password.txt
- ansible-vault encrypt --vault-password-file vault-password.txt vault-test-file.txt
- test "$(cat vault-test-file.txt)" != "$SECRET_MESSAGE" # encrypted
- ansible-vault decrypt --vault-password-file vault-password.txt vault-test-file.txt
- test "$(cat vault-test-file.txt)" = "$SECRET_MESSAGE" # decrypted
# ensure paramiko is installed
- ${{prefix}}/venv/bin/python -c "import paramiko"
env:
VAULT_PASSWORD: '123456789'
SECRET_MESSAGE: 'Hello world!'
provides:
- bin/ansible
- bin/ansible-config
- bin/ansible-connection
- bin/ansible-console
- bin/ansible-doc
- bin/ansible-galaxy
- bin/ansible-inventory
- bin/ansible-playbook
- bin/ansible-pull
- bin/ansible-test
- bin/ansible-vault