weblate/ci/pip-install
Michal Čihař f27009643d fix: avoid using uv .. --no-sources
We no longer have source dependency in pyproject.toml so that did
nothing and it is now not compatible with some other args.
2025-05-03 08:20:07 +02:00

39 lines
1.7 KiB
Bash
Executable file

#!/bin/sh
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -e -x
if [ "${1:-latest}" = minimal ]; then
# Install older GI
sudo dpkg --purge libgirepository-2.0-dev
sudo apt-get install -y libgirepository1.0-dev
# Adjust deps to force minimal version
sed -i '/^ *"/ s/>=/==/' pyproject.toml
uv sync --no-binary-package lxml --no-binary-package xmlsec --all-extras --dev
elif [ "${1:-latest}" = edge ]; then
# Install from git / pre-release
mkdir -p build/packages
# Fetch current snapshots
curl -LsSf https://github.com/translate/translate/archive/master.zip > build/packages/translate-toolkit.zip
curl -LsSf https://github.com/WeblateOrg/language-data/archive/main.zip > build/packages/weblate-language-data.zip
curl -LsSf https://github.com/WeblateOrg/translation-finder/archive/main.zip > build/packages/transaltion-finder.zip
# TODO: lxml can use wheels once xmlsec has one
# see https://github.com/xmlsec/python-xmlsec/issues/327
# Add downloaded zip, cannot add URL as uv complains about missing checksum
uv add --no-binary-package lxml --no-binary-package xmlsec build/packages/*
# Allow pre-repeases
uv add --no-binary-package lxml --no-binary-package xmlsec --prerelease allow Django
uv sync --all-extras --dev --no-binary-package lxml --no-binary-package xmlsec
else
# TODO: lxml can use wheels once xmlsec has one
# see https://github.com/xmlsec/python-xmlsec/issues/327
uv sync --frozen --all-extras --dev --no-binary-package lxml --no-binary-package xmlsec
fi
# Verify that deps are consistent
if [ "${1:-latest}" != edge ]; then
uv pip check
fi