Releases: markosamuli/ansible-pyenv
v6.2.0
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.
Fixed
- Change how tasks are included to address issues with missing homebrew action on Linux. (#47)
Changed
-
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-opensslin Ubuntu and Debian. (#54)This should work as the new default since Python 2 is EOL.
Development changes
- Test macOS install on GitHub Actions.
- Remove
developbranch and pipelines. - Support for running cross platform test images on Apple M1 devices.
- Use
robertdebock/galaxy-actionGitHub Action to publish tagged releases to Ansible Galaxy once tests have been completed.
v6.1.0
v6.0.0
Use pyenv 2.2.5, Python 3.10 and add support for installing with Homebrew on Apple M1 chips.
Breaking changes
- Update pyenv from 1.2.27 to 2.2.5 (#48)
- Use Python 3.10 as the default version
- Do not install Python 3.8 or Python 3.9 by default
- Require Ansible 2.10
Changed
- Add Python 3.10.3
- Update Python 3.7.9 to 3.7.13
- Update Python 3.8.9 to 3.8.13
- Update Python 3.9.4 to 3.9.11
- Run tests on the CI with Python 3.10
- Update pre-commit hooks to the latest versions
Fixed
- Added build requirements for Debian bullseye
- Python version update script was not sorting versions correctly
- Update Homebrew installation path to
/opt/homebrewon Apple M1 chips - Do not try to run tests with Homebrew on Linux on ARM
- Upgrade jinja2 to 3.1.1
- Upgrade gitpython to 3.1.27
- shfmt install on CI pipelines
v5.0.0
Breaking changes
- Use Python 3.8 as the default version
- Do not install Python 3.7 automatically
Fixed
- Do not print
dockerpath in run-tests.sh - Failing
shellcheckpre-commit hook
Changed
Use 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:
- Use Ubuntu 20.04 LTS as the default environment on Travis
- Remove Ubuntu 16.04 LTS tests
- Remove macOS High Sierra tests
- Remove Debian stretch tests
Improve local development setup:
- Manage development dependencies with pip-tools
- Use local virtualenv when running tasks in the Makefile
- Update bandit from 1.6.2 to 1.7.0
Update development dependencies with vulnerabilities:
- Update pylint from 2.5.2 to 2.7.0
- Bump jinja2 from 2.11.2 to 2.11.3
Update pyenv and Python versions:
- Install Python 3.9.4
- Update pyenv to 1.2.27
- Update default python versions to 3.7.8 and 3.8.9
v4.0.2
v4.0.1
This release addresses installation issues and adds additional test environments
using Docker images.
Fixed
- Run
brew intoin Ansibleshellmodule instead ofcommandto use the
existing shell environment. - Do not use Homebrew OpenSSL on Debian stretch or Ubuntu xenial to fix Python
3.7 and 3.8 install failing due to OpenSSL not being found. - Debian: Install
python3-opensslinstead ofpython-opensslon Debian
buster. - Add
blackcompatibleflake8configuration.
Changed
Improved run-tests.sh script and error handling if any of the tests fail.
- Add
--debugoption to therun-tests.shscript 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.
- Use
clickin theupdate_test_images.pyscript to allow additional options
to be provided. - Add
--list-onlyoption to return the Dockerfile build target paths
only so I can use these in my Makefile. - Add
--distriboption to update only images matching the specified
Linux distribution. - Add
--releaseoption to update only images matching the specified
Linux distribution release. - Add
--git/--no-gitoption to update only images for testing the Git
installation method. - Add
--homebrew/--no-homebrewoption to update only for testing the
Homebrew installation method. - Add
--dockerfileoption to allow images to be specified by the target
Dockerfile path. This is used by the Makefile to match existing build
targets.
CI: Travis
- Skip
shfmtpre-commit hook as the CLI version is too old and causes
issues with some formatting.
CI: GitHub
- Test on Debian and Ubuntu using Docker images on GitHub Actions.
- Install
shfmtvia Go modules instead of using Snap packages.
v4.0.0
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.
Breaking changes
- Require Python 3.6 or newer
- Require Ansible 2.8 or newer
Homebrew on Linux
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.
Changed
- Install
pyenvwith Homebrew on Linux - Upgrade
ansible-lintto v4.3.3 - Add missing directory permissions to ensure compatibility with the future
Ansible versions.
Fixed
- Ubuntu: Add missing
libncursesw5-devdependency - Ubuntu: Install openssl when installing via Homebrew
- Fix issue with first time Python installs failing as pyenv has not been
set up in the user's shell profile. - macOS: Ensure
gccis installed as recommended by Homebrew installer - Add permissions to the Git repositories while cloning as the default file and
directory permissions will change in the future Ansible versions.
CI: Travis
- Run preferred OS builds first
- macOS: Run test builds on macOS 10.15 (Catalina)
- Ubuntu: Use Ansible 2.12
autodetection on Ubuntu 20.04 LTS instead of the
auto_legacydetection from Ansible 2.8 to detect the Python 3 version
correctly. - Ubuntu: Remove Ubuntu 18.04 LTS Ansible 2.9 build
- Use Ubuntu 20.04 LTS for running
pre-committests
CI: pre-commit
- Upgrade to
pre-commitv2.7.0 - Format Python code with black
- Lint Python files with flake8 and pylint
- Test Python files for security issues with bandit
- Add pylint config compatible with black code formatting
- Add Python development dependencies into requirements.dev.txt
CI: GitHub
- Use the latest Python 3.x version for running tests
CI: Tests with Docker images
- Update Docker images with Python and Jinja2 templates
- Add Ubuntu 20.04 LTS support
- Do not store test Docker image files in the repository
- Add support for running tests on WSL2
- Install
procpson Homebrew test images - Fix missing script permissions caused development environment on Windows FS
v3.0.2
- Update to pyenv 1.2.20
- Update to Python 3.7.8
- Update to Python 3.8.5
v3.0.1
- Update to pyenv 1.2.18
- Update to Python 3.7.7
- Update to Python 3.8.2
v3.0.0
3.0.0 (2020-02-08)
- docs: release v3.0.0 (d9e6e1c)
- chore: quiet make lint task (fd815b2)
- chore: quiet pre-commit hooks (1532c0e)
- chore: recommended VS Code extensions (0aaab34)
- style: format JSON, Markdown and YAML files with Prettier (a3b7912)
- style: prettier CHANGELOG.md (900af80)
- style: prettier JSON (93d7d44)
- style: prettier README.md (e9de7c5)
- style: prettier YAML (70be7b1)
- refactor(ansible): remove Ansible 2.6 support (f5d5156)
- refactor(macos): remove macOS Mojave patch support (295c049)
- feat: install Python 3.8 and remove Python 2.7 (10d51b1)
- feat: pyenv v1.2.16 (02d1b0a)
- feat: python v3.7.6 (20489b4)
BREAKING CHANGE
- Ansible 2.6 is not supported.
- macOS Mojave with outdated signed SDK header packages or outdated Xcode versions are not supported.
- Python 2 has reached end of life on January 1, 2020 and is no longer supported.