setup-python/action.yml
Ed Morley db62d43a24
Skip the post run step entirely if the cache is disabled
Previously if the `cache: false` (the default for this Action), the
Action's "post run" step would still be executed.

Whilst this step was fast (since it returned early if the cache was
disabled), it still causes unnecessary noise in the job's steps list.

For example as seen in:
https://github.com/pypa/get-pip/actions/runs/8679713478/job/23798960684

Now, the post run step is skipped if the cache is disabled, thanks
to the `post-if` syntax supporting the `github.events.inputs.*`
context.

See:
https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runspost-if
0c45773b62/action.yml (L40)
2024-07-08 09:49:29 +01:00

43 lines
2.2 KiB
YAML

---
name: "Setup Python"
description: "Set up a specific version of Python and add the command-line tools to the PATH."
author: "GitHub"
inputs:
python-version:
description: "Version range or exact version of Python or PyPy to use, using SemVer's version range syntax. Reads from .python-version if unset."
python-version-file:
description: "File containing the Python version to use. Example: .python-version"
cache:
description: "Used to specify a package manager for caching in the default directory. Supported values: pip, pipenv, poetry."
required: false
architecture:
description: "The target architecture (x86, x64) of the Python or PyPy interpreter."
check-latest:
description: "Set this option if you want the action to check for the latest available version that satisfies the version spec."
default: false
token:
description: "The token used to authenticate when fetching Python distributions from https://github.com/actions/python-versions. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting."
default: ${{ github.server_url == 'https://github.com' && github.token || '' }}
cache-dependency-path:
description: "Used to specify the path to dependency files. Supports wildcards or a list of file names for caching multiple dependencies."
update-environment:
description: "Set this option if you want the action to update environment variables."
default: true
allow-prereleases:
description: "When 'true', a version range passed to 'python-version' input will match prerelease versions if no GA versions are found. Only 'x.y' version range is supported for CPython."
default: false
outputs:
python-version:
description: "The installed Python or PyPy version. Useful when given a version range as input."
cache-hit:
description: "A boolean value to indicate a cache entry was found"
python-path:
description: "The absolute path to the Python or PyPy executable."
runs:
using: 'node20'
main: 'dist/setup/index.js'
post: 'dist/cache-save/index.js'
post-if: 'success() && github.event.inputs.cache'
branding:
icon: 'code'
color: 'yellow'