From ccf96194800dbb7b7094edcd5a7cf3ec3c270f10 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 29 Apr 2020 21:58:19 +0300 Subject: [PATCH] Add Python example using 'pip cache dir' to get cache location (#285) * Fix existing example * Add Python example using 'pip cache dir' to get cache location * Let users decide how they install pip 20.1+ --- examples.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/examples.md b/examples.md index 5346ee2..e9f43cc 100644 --- a/examples.md +++ b/examples.md @@ -18,6 +18,7 @@ - [Python - pip](#python---pip) - [Simple example](#simple-example) - [Multiple OS's in a workflow](#multiple-oss-in-a-workflow) + - [Using pip to get cache location](#using-pip-to-get-cache-location) - [Using a script to get cache location](#using-a-script-to-get-cache-location) - [R - renv](#r---renv) - [Simple example](#simple-example-1) @@ -290,14 +291,32 @@ Replace `~/.cache/pip` with the correct `path` if not using Ubuntu. ${{ runner.os }}-pip- ``` +### Using pip to get cache location + +> Note: This requires pip 20.1+ +```yaml +- name: Get pip cache dir + id: pip-cache + run: | + echo "::set-output name=dir::$(pip cache dir)" + +- name: pip cache + uses: actions/cache@v1 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- +``` + ### Using a script to get cache location > Note: This uses an internal pip API and may not always work ```yaml -- name: Get pip cache - id: pip-cache - run: | - python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)" +- name: Get pip cache dir + id: pip-cache + run: | + python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)" - uses: actions/cache@v1 with: