mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-30 12:15:56 +00:00
* update eval-driven-dev skill * fix: update skill update command to use correct repository path * address comments. * update eval driven dev
111 lines
3.1 KiB
Bash
Executable File
111 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Setup script for eval-driven-dev skill.
|
|
# Updates the skill, installs/upgrades pixie-qa[all], initializes the
|
|
# pixie working directory, and starts the web UI server in the background.
|
|
#
|
|
# Error handling:
|
|
# - Skill update failure → non-fatal (continue with existing version)
|
|
# - pixie-qa upgrade failure when already installed → non-fatal
|
|
# - pixie-qa NOT installed and install fails → FATAL (exit 1)
|
|
# - pixie init failure → FATAL (exit 1)
|
|
# - pixie start failure → FATAL (exit 1)
|
|
set -u
|
|
|
|
echo "=== Updating skill ==="
|
|
npx skills update github/awesome-copilot --skill eval-driven-dev -g -y && npx skills update github/awesome-copilot --skill eval-driven-dev -p -y || {
|
|
echo "(skill update failed — proceeding with existing version)"
|
|
}
|
|
|
|
echo ""
|
|
echo "=== Installing / upgrading pixie-qa[all] ==="
|
|
|
|
# Helper: check if pixie CLI is importable
|
|
_pixie_available() {
|
|
if [ -f uv.lock ]; then
|
|
uv run python -c "import pixie" 2>/dev/null
|
|
elif [ -f poetry.lock ]; then
|
|
poetry run python -c "import pixie" 2>/dev/null
|
|
else
|
|
python -c "import pixie" 2>/dev/null
|
|
fi
|
|
}
|
|
|
|
# Check if pixie is already installed before attempting upgrade
|
|
PIXIE_WAS_INSTALLED=false
|
|
if _pixie_available; then
|
|
PIXIE_WAS_INSTALLED=true
|
|
fi
|
|
|
|
INSTALL_OK=false
|
|
if [ -f uv.lock ]; then
|
|
# uv add does universal resolution across all Python versions in
|
|
# requires-python. If the host project supports a Python version
|
|
# where pixie-qa is unavailable (e.g. <3.10), uv add fails.
|
|
# Fall back to uv pip install which only targets the active interpreter.
|
|
if uv add "pixie-qa[all]>=0.8.4,<0.9.0" --upgrade 2>&1; then
|
|
INSTALL_OK=true
|
|
else
|
|
echo "(uv add failed — falling back to uv pip install)"
|
|
if uv pip install "pixie-qa[all]>=0.8.4,<0.9.0" 2>&1; then
|
|
INSTALL_OK=true
|
|
fi
|
|
fi
|
|
elif [ -f poetry.lock ]; then
|
|
if poetry add "pixie-qa[all]>=0.8.4,<0.9.0"; then
|
|
INSTALL_OK=true
|
|
fi
|
|
else
|
|
if pip install --upgrade "pixie-qa[all]>=0.8.4,<0.9.0"; then
|
|
INSTALL_OK=true
|
|
fi
|
|
fi
|
|
|
|
if [ "$INSTALL_OK" = false ]; then
|
|
if [ "$PIXIE_WAS_INSTALLED" = true ]; then
|
|
echo "(pixie-qa upgrade failed — proceeding with existing version)"
|
|
else
|
|
echo ""
|
|
echo "ERROR: pixie-qa is not installed and installation failed."
|
|
echo "The eval-driven-dev workflow requires the pixie-qa package."
|
|
echo "Please install it manually and re-run this script."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Initializing pixie working directory ==="
|
|
if [ -f uv.lock ]; then
|
|
uv run pixie init
|
|
elif [ -f poetry.lock ]; then
|
|
poetry run pixie init
|
|
else
|
|
pixie init
|
|
fi
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo ""
|
|
echo "ERROR: Failed to initialize pixie working directory."
|
|
echo "Please check the error above and fix it before continuing."
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Starting web UI server (background) ==="
|
|
if [ -f uv.lock ]; then
|
|
uv run pixie start
|
|
elif [ -f poetry.lock ]; then
|
|
poetry run pixie start
|
|
else
|
|
pixie start
|
|
fi
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo ""
|
|
echo "ERROR: Failed to start the web UI server."
|
|
echo "Please check the error above and fix it before continuing."
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Setup complete ==="
|