From 40773689f6dfe93da03b82e137608ca1ca0c7904 Mon Sep 17 00:00:00 2001 From: Bence Szikszai Date: Thu, 18 Sep 2025 11:43:08 +0200 Subject: [PATCH 1/3] Change Poetry install directory. --- setup-poetry/action.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/setup-poetry/action.yml b/setup-poetry/action.yml index 99735d4..ad057f6 100644 --- a/setup-poetry/action.yml +++ b/setup-poetry/action.yml @@ -27,18 +27,18 @@ runs: - name: Set paths (Linux/Mac) if: runner.os != 'Windows' run: | - echo "POETRY_BIN_DIR=$HOME/.local/poetry/bin" >> "$GITHUB_ENV" - echo "POETRY_HOME=$HOME/.local/poetry/home" >> "$GITHUB_ENV" - echo "POETRY_HOME_BIN=$HOME/.local/poetry/home/bin" >> "$GITHUB_ENV" - echo "$HOME/.local/poetry/bin" >> "$GITHUB_PATH" + echo "POETRY_BIN_DIR=$RUNNER_TEMP/poetry/bin" >> "$GITHUB_ENV" + echo "POETRY_HOME=$RUNNER_TEMP/poetry/home" >> "$GITHUB_ENV" + echo "POETRY_HOME_BIN=$RUNNER_TEMP/poetry/home/bin" >> "$GITHUB_ENV" + echo "$RUNNER_TEMP/poetry/bin" >> "$GITHUB_PATH" shell: bash - name: Set paths (Windows) if: runner.os == 'Windows' run: | - Add-Content $env:GITHUB_ENV "POETRY_BIN_DIR=$HOME\.local\poetry\bin" - Add-Content $env:GITHUB_ENV "POETRY_HOME=$HOME\.local\poetry\home" - Add-Content $env:GITHUB_ENV "POETRY_HOME_BIN=$HOME\.local\poetry\home\Scripts" - Add-Content $env:GITHUB_PATH "$HOME\.local\poetry\bin" + Add-Content $env:GITHUB_ENV "POETRY_BIN_DIR=$env:RUNNER_TEMP\poetry\bin" + Add-Content $env:GITHUB_ENV "POETRY_HOME=$env:RUNNER_TEMP\poetry\home" + Add-Content $env:GITHUB_ENV "POETRY_HOME_BIN=$env:RUNNER_TEMP\poetry\home\Scripts" + Add-Content $env:GITHUB_PATH "$env:RUNNER_TEMP\poetry\bin" shell: pwsh - name: Copy paths from $GITHUB_ENV to $GITHUB_OUTPUT id: copy-paths From 82a02409515e44832cfbb89c13e82cd142035d0d Mon Sep 17 00:00:00 2001 From: Bence Szikszai Date: Fri, 19 Sep 2025 10:46:55 +0200 Subject: [PATCH 2/3] Add config directory as well. --- setup-poetry/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup-poetry/action.yml b/setup-poetry/action.yml index ad057f6..a37e8cb 100644 --- a/setup-poetry/action.yml +++ b/setup-poetry/action.yml @@ -28,6 +28,7 @@ runs: if: runner.os != 'Windows' run: | echo "POETRY_BIN_DIR=$RUNNER_TEMP/poetry/bin" >> "$GITHUB_ENV" + echo "POETRY_CONFIG_DIR=$RUNNER_TEMP/poetry/config" >> "$GITHUB_ENV" echo "POETRY_HOME=$RUNNER_TEMP/poetry/home" >> "$GITHUB_ENV" echo "POETRY_HOME_BIN=$RUNNER_TEMP/poetry/home/bin" >> "$GITHUB_ENV" echo "$RUNNER_TEMP/poetry/bin" >> "$GITHUB_PATH" @@ -36,6 +37,7 @@ runs: if: runner.os == 'Windows' run: | Add-Content $env:GITHUB_ENV "POETRY_BIN_DIR=$env:RUNNER_TEMP\poetry\bin" + Add-Content $env:GITHUB_ENV "POETRY_CONFIG_DIR=$env:RUNNER_TEMP\poetry\config" Add-Content $env:GITHUB_ENV "POETRY_HOME=$env:RUNNER_TEMP\poetry\home" Add-Content $env:GITHUB_ENV "POETRY_HOME_BIN=$env:RUNNER_TEMP\poetry\home\Scripts" Add-Content $env:GITHUB_PATH "$env:RUNNER_TEMP\poetry\bin" From c0a0a164c7a0298100f5be452a213f254b6d1da2 Mon Sep 17 00:00:00 2001 From: Bence Szikszai Date: Fri, 19 Sep 2025 12:09:23 +0200 Subject: [PATCH 3/3] Use workspace for temporary directory. Include directory hash in cache key. --- setup-poetry/action.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/setup-poetry/action.yml b/setup-poetry/action.yml index a37e8cb..0b3e649 100644 --- a/setup-poetry/action.yml +++ b/setup-poetry/action.yml @@ -27,26 +27,27 @@ runs: - name: Set paths (Linux/Mac) if: runner.os != 'Windows' run: | - echo "POETRY_BIN_DIR=$RUNNER_TEMP/poetry/bin" >> "$GITHUB_ENV" - echo "POETRY_CONFIG_DIR=$RUNNER_TEMP/poetry/config" >> "$GITHUB_ENV" - echo "POETRY_HOME=$RUNNER_TEMP/poetry/home" >> "$GITHUB_ENV" - echo "POETRY_HOME_BIN=$RUNNER_TEMP/poetry/home/bin" >> "$GITHUB_ENV" - echo "$RUNNER_TEMP/poetry/bin" >> "$GITHUB_PATH" + echo "POETRY_BIN_DIR=$GITHUB_WORKSPACE/.cache/poetry/bin" >> "$GITHUB_ENV" + echo "POETRY_CONFIG_DIR=$GITHUB_WORKSPACE/.cache/poetry/config" >> "$GITHUB_ENV" + echo "POETRY_HOME=$GITHUB_WORKSPACE/.cache/poetry/home" >> "$GITHUB_ENV" + echo "POETRY_HOME_BIN=$GITHUB_WORKSPACE/.cache/poetry/home/bin" >> "$GITHUB_ENV" + echo "$GITHUB_WORKSPACE/.cache/poetry/bin" >> "$GITHUB_PATH" shell: bash - name: Set paths (Windows) if: runner.os == 'Windows' run: | - Add-Content $env:GITHUB_ENV "POETRY_BIN_DIR=$env:RUNNER_TEMP\poetry\bin" - Add-Content $env:GITHUB_ENV "POETRY_CONFIG_DIR=$env:RUNNER_TEMP\poetry\config" - Add-Content $env:GITHUB_ENV "POETRY_HOME=$env:RUNNER_TEMP\poetry\home" - Add-Content $env:GITHUB_ENV "POETRY_HOME_BIN=$env:RUNNER_TEMP\poetry\home\Scripts" - Add-Content $env:GITHUB_PATH "$env:RUNNER_TEMP\poetry\bin" + Add-Content $env:GITHUB_ENV "POETRY_BIN_DIR=$env:GITHUB_WORKSPACE\.cache\poetry\bin" + Add-Content $env:GITHUB_ENV "POETRY_CONFIG_DIR=$env:GITHUB_WORKSPACE\.cache\poetry\config" + Add-Content $env:GITHUB_ENV "POETRY_HOME=$env:GITHUB_WORKSPACE\.cache\poetry\home" + Add-Content $env:GITHUB_ENV "POETRY_HOME_BIN=$env:GITHUB_WORKSPACE\.cache\poetry\home\Scripts" + Add-Content $env:GITHUB_PATH "$env:GITHUB_WORKSPACE\.cache\poetry\bin" shell: pwsh - name: Copy paths from $GITHUB_ENV to $GITHUB_OUTPUT id: copy-paths run: | echo "poetry-bin-dir=$POETRY_BIN_DIR" >> "$GITHUB_OUTPUT" echo "poetry-home=$POETRY_HOME" >> "$GITHUB_OUTPUT" + echo "poetry-hash=$(echo "$POETRY_BIN_DIR" | sha256sum | cut -d ' ' -f1)" >> $GITHUB_OUTPUT shell: bash - name: Cache poetry if: ${{ inputs.use-cache == 'true' }} @@ -57,7 +58,7 @@ runs: path: | ${{ steps.copy-paths.outputs.poetry-bin-dir }}/poetry* ${{ steps.copy-paths.outputs.poetry-home }} - key: poetry${{ inputs.poetry-version }}-${{ runner.os }}-py${{ env.pythonVersion }} + key: poetry${{ inputs.poetry-version }}-${{ runner.os }}-py${{ env.pythonVersion }}-${{ steps.copy-paths.outputs.poetry-hash}} - name: Install Poetry if: steps.cache-poetry.outputs.cache-hit != 'true' run: |