#!/bin/bash set -e PIPENV_PYTHON="3" source /etc/os-release if [[ $ID = "amzn" ]] && [[ $VERSION = "2" ]]; then echo "Amazon Linux 2 is no longer supported; see README.md for supported operating systems/environments." exit 1 elif [[ $ID = "amzn" ]] && [[ $VERSION = "2023" ]]; then dnf install -y \ python3.11 \ python3.11-pip \ python3.11-devel echo "Installing pipenv..." pip3.11 install pipenv PIPENV_PYTHON="3.11" else # FIXME: Currently assumes Debian-based apt-get update && \ apt-get install -y \ python3-dev \ python3-pip \ pipenv fi export PATH=/usr/local/bin:$PATH export PIP_DEFAULT_TIMEOUT=60 echo "Installing ansible and dependencies..." PIPENV_NOSPIN=1 PIPENV_HIDE_EMOJIS=1 pipenv --python $PIPENV_PYTHON sync 2>&1 | iconv -c -f utf-8 -t ascii if [[ $1 == "--dev" ]]; then pipenv sync --dev fi echo "Installing collections from galaxy..." galaxy_retry_count=0 until [[ $galaxy_retry_count -gt 2 ]]; do pipenv run ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml && break galaxy_retry_count=$((galaxy_retry_count + 1)) done