Files
fish-shell/updatecli.d/python.yml
Johannes Altmanninger ccfbfe9965 CI: use Python from uv's virtualenv
uv allows "uv python install" to a ~/.local, but doesn't allow
"uv pip install --user", only "--system". According to [1], we are
supposed to use a virtualenv, and make sure that "$VIRTUAL_ENV/bin"
is in "$PATH" (before "/bin").  Use ~/.local; there should be no
collisions in practice.

This fixes the problem worked around by fe3c42af9e (Work around
github actions python failure, 2026-02-08). Revert that.
Update lock files with:

	updatecli apply --config updatecli.d/python.yml
	uv lock --upgrade --exclude-newer="$(awk -F'"' <uv.lock '/^exclude-newer[[:space:]]*=/ {print $2}')"

[1]: https://github.com/astral-sh/uv/issues/2077#issuecomment-1971579880
2026-05-30 17:52:48 +08:00

38 lines
1.1 KiB
YAML

name: "Update Python and Sphinx"
sources:
python_version:
kind: shell
spec:
command: |
build_tools/version-available-in-debian.sh stable python3-defaults
sphinx_version:
kind: shell
spec:
shell: bash
command: |
set -eo pipefail
tag=$(curl -fsS https://api.github.com/repos/sphinx-doc/sphinx/releases/latest |
jq -r .tag_name)
printf %s "$tag" | grep -qE '^v[0-9]+\.[0-9]\..*'
version=${tag#v}
echo "${version%.*}"
targets:
update_python_version:
name: "Update Python version"
sourceid: python_version
kind: file
spec:
file: pyproject.toml
matchpattern: 'requires-python = ">=\d+.\d+".*'
replacepattern: 'requires-python = ">={{ source "python_version" }}" # updatecli.d/python.yml'
update_sphinx_version:
name: "Update Sphinx version"
sourceid: sphinx_version
kind: file
spec:
file: pyproject.toml
matchpattern: '"sphinx>=\d+\.\d+",(?:\s*#.*)?'
replacepattern: '"sphinx>={{ source "sphinx_version" }}", # updatecli.d/python.yml'