Files
breakpilot-lehrer/studio-v2/.git-hooks/pre-push
Benjamin Boenisch 5a31f52310 Initial commit: breakpilot-lehrer - Lehrer KI Platform
Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website,
Klausur-Service, School-Service, Voice-Service, Geo-Service,
BreakPilot Drive, Agent-Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:26 +01:00

56 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
#
# Git pre-push hook for studio-v2
# Runs Playwright E2E tests before pushing changes
#
# To install, run:
# chmod +x .git-hooks/pre-push
# git config core.hooksPath .git-hooks
#
# To skip tests (emergency only):
# git push --no-verify
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${YELLOW}Running E2E tests before push...${NC}"
echo ""
# Navigate to studio-v2 directory
cd "$(dirname "$0")/../.." || exit 1
# Check if dev server is running on port 3001
if ! curl -s http://localhost:3001 > /dev/null 2>&1; then
echo -e "${YELLOW}Dev server not running. Checking remote...${NC}"
# Check if macmini server is available
if curl -s https://macmini/korrektur > /dev/null 2>&1; then
echo -e "${GREEN}Using remote server at https://macmini${NC}"
export PLAYWRIGHT_BASE_URL="https://macmini"
else
echo -e "${RED}No server available. Start dev server with 'npm run dev' or deploy to macmini.${NC}"
echo -e "${YELLOW}Skipping tests...${NC}"
exit 0
fi
fi
# Run tests
echo -e "${YELLOW}Running Playwright tests...${NC}"
npm run test:e2e -- --reporter=list 2>&1
# Check test result
if [ $? -eq 0 ]; then
echo ""
echo -e "${GREEN}All tests passed! Pushing...${NC}"
exit 0
else
echo ""
echo -e "${RED}Tests failed! Push aborted.${NC}"
echo -e "${YELLOW}Fix the failing tests and try again.${NC}"
echo -e "${YELLOW}To push anyway (not recommended): git push --no-verify${NC}"
exit 1
fi