48 lines
1.2 KiB
Bash
Executable file
48 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
set -eu
|
|
|
|
cd "$(dirname "$0")"
|
|
cd .. # git root
|
|
|
|
if ! command -v sudo; then
|
|
# CI or Docker sometimes doesn't have it, so useful to have a dummy
|
|
function sudo {
|
|
"$@"
|
|
}
|
|
fi
|
|
|
|
# --parallel-live to show outputs while it's running
|
|
tox_cmd='run-parallel --parallel-live'
|
|
if [ -n "${CI-}" ]; then
|
|
# install OS specific stuff here
|
|
case "$OSTYPE" in
|
|
darwin*)
|
|
# macos
|
|
brew install fd
|
|
;;
|
|
cygwin* | msys* | win*)
|
|
# windows
|
|
# ugh. parallel stuff seems super flaky under windows, some random failures, "file used by other process" and crap like that
|
|
tox_cmd='run'
|
|
;;
|
|
*)
|
|
# must be linux?
|
|
sudo apt update
|
|
sudo apt install fd-find
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
|
|
PY_BIN="python3"
|
|
# some systems might have python pointing to python3
|
|
if ! command -v python3 &> /dev/null; then
|
|
PY_BIN="python"
|
|
fi
|
|
|
|
|
|
# TODO hmm for some reason installing uv with pip and then running
|
|
# "$PY_BIN" -m uv tool fails with missing setuptools error??
|
|
# just uvx directly works, but it's not present in PATH...
|
|
"$PY_BIN" -m pip install --user pipx
|
|
"$PY_BIN" -m pipx run uv tool run --with=tox-uv tox $tox_cmd "$@"
|