The example @ https://github.com/actions/cache/blob/6f1f1e10f3bad9846e298e7670d605f5674ddd17/examples.md#using-pip-to-get-cache-location does not work with Windows runners, as they use PowerShell by default. In particular, the following part:
- name: Get pip cache dir
id: pip-cache
run: |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
does not write into the output file since $GITHUB_OUTPUT evaluates to an empty string (apparently you need to use $env:GITHUB_OUTPUT for PowerShell but I haven't tested that). I've been able to get the action to work by forcing shell: bash — perhaps the example should do that to make the code more portable?