Ansible role to install pyenv on Ubuntu or macOS development machines
Support for Ubuntu 22.04 LTS and Arch Linux. I don't have test environments for either of these so testing is limited to the Docker environments only.
Added tests for Ubuntu 22.04 LTS.
Compiling Python 3.10 with Homebrew fails on Ubuntu 22.04 LTS so Homebrew tests are not included.
Added configuration and tests for Arch Linux.
Do not test Homebrew on Arch Linux as Homebrew install itself fails due to incorrect Ruby version.
Default to python3-openssl
in Ubuntu and Debian. (#54)
This should work as the new default since Python 2 is EOL.
develop
branch and pipelines.robertdebock/galaxy-action
GitHub Action to publish tagged releases to Ansible Galaxy once tests have been completed.Use pyenv 2.2.5, Python 3.10 and add support for installing with Homebrew on Apple M1 chips.
/opt/homebrew
on Apple M1 chipsdocker
path in run-tests.shshellcheck
pre-commit hookUse pyenv
binary directly instead of loading the .pyenvrc
file as suggested by @KentBrockman in PR #39. This will allow installation of the role using remote SSH connections without the need for interactive shell.
Remove links to Travis CI as the tests are no longer working for open source projects.
Remove support for old operating systems:
Improve local development setup:
Update development dependencies with vulnerabilities:
Update pyenv and Python versions:
This release addresses installation issues and adds additional test environments using Docker images.
brew into
in Ansible shell
module instead of command
to use the
existing shell environment.python3-openssl
instead of python-openssl
on Debian
buster.black
compatible flake8
configuration.Improved run-tests.sh
script and error handling if any of the tests fail.
--debug
option to the run-tests.sh
script that will start a
container with an interactive shell to allow ad-hoc commands to be
executed inside the container.Improve the update_test_images.py
script to allow additional options to
be provided from the command line.
click
in the update_test_images.py
script to allow additional options
to be provided.--list-only
option to return the Dockerfile build target paths
only so I can use these in my Makefile.--distrib
option to update only images matching the specified
Linux distribution.--release
option to update only images matching the specified
Linux distribution release.--git/--no-git
option to update only images for testing the Git
installation method.--homebrew/--no-homebrew
option to update only for testing the
Homebrew installation method.--dockerfile
option to allow images to be specified by the target
Dockerfile path. This is used by the Makefile to match existing build
targets.shfmt
pre-commit hook as the CLI version is too old and causes
issues with some formatting.shfmt
via Go modules instead of using Snap packages.This release adds (experimental) support for installing pyenv
via Homebrew on
Linux.
Add support and fixes for installing pyenv
on Ubuntu 20.04 LTS and
macOS Catalina.
The main purpose of this feature is to allow testing of the Homebrew installation on my Windows and Linux development environments inside Ubuntu and Debian Docker containers.
This should be considered experimental and not the preferred way to install pyenv on Linux as it comes with a few quirks.
To address known issue with pyenv on Homebrew on Linux, the Homebrew readline package is automatically uninstalled and then reinstalled while building Python versions with this role.
pyenv
with Homebrew on Linuxansible-lint
to v4.3.3libncursesw5-dev
dependencygcc
is installed as recommended by Homebrew installerauto
detection on Ubuntu 20.04 LTS instead of the
auto_legacy
detection from Ansible 2.8 to detect the Python 3 version
correctly.pre-commit
testspre-commit
v2.7.0procps
on Homebrew test images