Github Actions: using python version from .python-version file (pyenv)
I was recently creating a CI pipeline for a toy ML project. It was to make sure that our training accuracies stay within some thresholds as we change the code. We were hosting the project on GitHub so GitHub Actions seemed like a great fit to run our CI.
I’d found GitHub’s actions/setup-python@v2 to set up the specific python version, but it wasn’t clear how to set a version used pyenv (a great tool for managing multiple python versions btw), one written in the .python-version
file.
Turns out combining action contexts and environment variables does the trick.
- One step reads the
.python-version
file and writes that to environment variable - actions/setup-python@v2 installs the version from the environment variable.
Here’s the snippet defining the job steps
steps:
- uses: actions/checkout@v2
- name: Get python version
run: |
python_version=$(cat .python-version)
echo "python_version=${python_version}" >> $GITHUB_ENV
- name: Set up Python $
uses: actions/setup-python@v2
with:
python-version: $