From 8f746865794cad646f0d8d63a9928cd6434e5255 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 4 Sep 2024 12:28:52 -0400 Subject: [PATCH 1/2] only set pyenv vars and install it if var not already set --- setup-python/action.yml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/setup-python/action.yml b/setup-python/action.yml index 4b748106..b01d98ae 100644 --- a/setup-python/action.yml +++ b/setup-python/action.yml @@ -82,20 +82,21 @@ runs: if: runner.arch == 'ARM64' || inputs.force-pyenv != 'false' shell: sh run: | - export PYENV_ROOT="$HOME/.pyenv" - echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV - - if [ ! -d "$PYENV_ROOT" ]; then - echo " ==== installing pyenv at: $PYENV_ROOT" - curl https://pyenv.run | bash - else - echo " ==== pyenv directory found at: $PYENV_ROOT" + if [ -z ${PYENV_ROOT+x} ]; then + export PYENV_ROOT="$HOME/.pyenv" + echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV + + if [ ! -d "$PYENV_ROOT" ]; then + echo " ==== installing pyenv at: $PYENV_ROOT" + curl https://pyenv.run | bash + else + echo " ==== pyenv directory found at: $PYENV_ROOT" + fi + + export PATH="$PYENV_ROOT/bin:$PATH" + echo "PATH=$PYENV_ROOT/bin:$PATH" >> $GITHUB_ENV fi - - export PATH="$PYENV_ROOT/bin:$PATH" - echo "PATH=$PYENV_ROOT/bin:$PATH" >> $GITHUB_ENV - - # Ensure pyenv is up to date + if ! (pyenv -h > /dev/null 2> /dev/null); then echo " ==== pyenv -h exited with non-zero status" type pyenv || true @@ -105,6 +106,8 @@ runs: ls -l "$PYENV_ROOT/bin" || true exit 1 fi + + # Ensure pyenv is up to date pyenv update FULL_PY_VERSION=$(pyenv install --list | grep "^ ${{ inputs.python-version }}" | grep -v 'dev' | tail -n 1) From 50695842795c803154fcf92f47af7359e6d21c51 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 4 Sep 2024 12:39:58 -0400 Subject: [PATCH 2/2] Update action.yml --- setup-python/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup-python/action.yml b/setup-python/action.yml index b01d98ae..79c6530a 100644 --- a/setup-python/action.yml +++ b/setup-python/action.yml @@ -82,7 +82,9 @@ runs: if: runner.arch == 'ARM64' || inputs.force-pyenv != 'false' shell: sh run: | - if [ -z ${PYENV_ROOT+x} ]; then + env | sort + + if [ -z "${PYENV_ROOT+x}" ]; then export PYENV_ROOT="$HOME/.pyenv" echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV