Pyenv Build
ActionsThis GitHub Action allows using pyenv in your build.
- Installs pyenv
1.2.17
. - Exports PYENV_ROOT environment variable.
- Injects
$PYENV_ROOT/bin
in the PATH. - Injects pyenv shims in the PATH.
- Pre-install specified python versions.
- Set default python version (through
pyenv local
).
Note: Supports Linux and MacOS (but not Windows).
Installs python 3.7.3 with pyenv, create virtualenv and install dependencies
name: Using python 3.7.3 with pyenv
on: [push, pull_request]
jobs:
test_pyenv:
runs-on: ubuntu-latest
name: install pyenv
steps:
- name: setup pyenv
uses: "gabrielfalcao/pyenv-action@v3"
with:
default: 3.7.3
- name: create virtualenv for python 3.7.3
run: python3 -mvenv .venv373
- name: Install dependencies
run: .venv373/bin/pip install -r development.txt
- name: Run tests
run: .venv373/bin/pytest .
name: Using python 3.7.3 with pyenv
on: [push, pull_request]
jobs:
test_pyenv:
runs-on: ubuntu-latest
name: install pyenv
steps:
- name: setup pyenv
uses: "gabrielfalcao/pyenv-action@v3"
with:
default: 3.7.2
versions: 3.6.5, 3.5.7
# create virtualenv for each python version
- name: Create virtualenv for python 3.5.7
run: pyenv local 3.5.7 && python3 -mvenv .venv357
- name: Create virtualenv for python 3.6.5
run: pyenv local 3.6.5 && python3 -mvenv .venv365
- name: Create virtualenv for python 3.7.2
run: pyenv local 3.7.2 && python3 -mvenv .venv372
The default python version to install and set with pyenv local <version>
Must be a valid python version supported by pyenv install <version>
Example:
- name: setup pyenv
uses: "gabrielfalcao/pyenv-action@v3"
with:
default: 3.7.3
A comma-separated list of versions that will be pre-installed in your github action.
Each version must be a valid and supported by pyenv install <version>
Example:
- name: setup pyenv
uses: "gabrielfalcao/pyenv-action@v3"
with:
versions: 3.6.4, 3.7.2
A command that will be executed after installing each python version.
This is useful, for example, for pre-installing pip dependencies in each python.
Example:
- name: setup pyenv
uses: "gabrielfalcao/pyenv-action@v3"
with:
versions: 3.6.4, 3.7.2
command: |
pip install -U pip setuptools
pip install -r development.txt
The full path to the PYENV_ROOT
Example:
name: Example pyenv_root action output
on: [push, pull_request]
jobs:
my_debug_job:
runs-on: ubuntu-latest
name: install pyenv
steps:
- name: setup pyenv
id: pyenv_installation
uses: "gabrielfalcao/pyenv-action@v3"
- name: debug pyenv
run: echo ${{ pyenv_installation.pyenv_root }}
Pyenv Build is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.