Stuff was done, fixes are being worked on, someday, CI will work.
Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
This commit is contained in:
@@ -11,43 +11,25 @@ jobs:
|
||||
name: Backend Tests (Python)
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
env:
|
||||
POSTGRES_PASSWORD: test_password
|
||||
POSTGRES_USER: test_user
|
||||
POSTGRES_DB: test_db
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Debug Python availability
|
||||
- name: Simple Python test
|
||||
run: |
|
||||
which python3 || echo "python3 not found"
|
||||
python3 --version || echo "python3 version failed"
|
||||
which python || echo "python not found"
|
||||
python --version || echo "python version failed"
|
||||
ls -la /usr/bin/python* || echo "no python in /usr/bin"
|
||||
|
||||
- name: Set up Python (fallback to system Python)
|
||||
run: |
|
||||
# Try to use system Python first
|
||||
if command -v python3 &> /dev/null; then
|
||||
echo "Using system Python3:"
|
||||
python3 --version
|
||||
# Create symlink if python command doesn't exist
|
||||
if ! command -v python &> /dev/null; then
|
||||
sudo ln -sf $(which python3) /usr/local/bin/python
|
||||
fi
|
||||
echo "=== Starting Backend Test ==="
|
||||
echo "Working directory: $(pwd)"
|
||||
echo "User: $(whoami)"
|
||||
echo "Python detection:"
|
||||
python3 --version || echo "python3 failed"
|
||||
echo "Directory listing:"
|
||||
ls -la
|
||||
echo "Backend directory exists: $(test -d backend && echo 'yes' || echo 'no')"
|
||||
if [ -d backend ]; then
|
||||
echo "Backend contents:"
|
||||
ls -la backend/
|
||||
fi
|
||||
echo "=== Backend Test Complete ==="
|
||||
else
|
||||
echo "No Python found, attempting to install..."
|
||||
sudo apt-get update
|
||||
@@ -116,99 +98,22 @@ jobs:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Debug Node.js availability
|
||||
- name: Simple Node test
|
||||
run: |
|
||||
which node || echo "node not found"
|
||||
node --version || echo "node version failed"
|
||||
which npm || echo "npm not found"
|
||||
npm --version || echo "npm version failed"
|
||||
which yarn || echo "yarn not found"
|
||||
yarn --version || echo "yarn version failed"
|
||||
|
||||
- name: Install Node.js and Yarn
|
||||
run: |
|
||||
echo "=== Installing Node.js and Yarn ==="
|
||||
echo "Current PATH: $PATH"
|
||||
echo "Current user: $(whoami)"
|
||||
echo "Current directory: $(pwd)"
|
||||
|
||||
# Check if Node.js is already installed
|
||||
if command -v node >/dev/null 2>&1; then
|
||||
echo "Node.js is already installed: $(node --version)"
|
||||
else
|
||||
echo "Installing Node.js..."
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
echo "=== Starting Frontend Test ==="
|
||||
echo "Working directory: $(pwd)"
|
||||
echo "User: $(whoami)"
|
||||
echo "Node detection:"
|
||||
node --version || echo "node failed"
|
||||
npm --version || echo "npm failed"
|
||||
echo "Directory listing:"
|
||||
ls -la
|
||||
echo "Frontend directory exists: $(test -d frontend && echo 'yes' || echo 'no')"
|
||||
if [ -d frontend ]; then
|
||||
echo "Frontend contents:"
|
||||
ls -la frontend/
|
||||
fi
|
||||
|
||||
# Check if Yarn is already installed
|
||||
if command -v yarn >/dev/null 2>&1; then
|
||||
echo "Yarn is already installed: $(yarn --version)"
|
||||
else
|
||||
echo "Installing Yarn..."
|
||||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y yarn
|
||||
fi
|
||||
|
||||
echo "Final versions:"
|
||||
node --version
|
||||
npm --version
|
||||
yarn --version
|
||||
|
||||
- name: Install frontend dependencies
|
||||
run: |
|
||||
echo "=== Installing frontend dependencies ==="
|
||||
echo "Current directory: $(pwd)"
|
||||
echo "Listing current directory contents:"
|
||||
ls -la
|
||||
echo "Changing to frontend directory..."
|
||||
cd frontend
|
||||
echo "Frontend directory contents:"
|
||||
ls -la
|
||||
echo "package.json contents:"
|
||||
cat package.json
|
||||
echo "Installing dependencies with yarn..."
|
||||
yarn install --frozen-lockfile
|
||||
echo "Dependencies installed successfully"
|
||||
|
||||
- name: Run frontend linting (ESLint)
|
||||
run: |
|
||||
cd frontend
|
||||
yarn lint
|
||||
|
||||
- name: Run frontend formatting check (Prettier)
|
||||
run: |
|
||||
cd frontend
|
||||
yarn format:check
|
||||
|
||||
- name: Run frontend type checking (vue-tsc)
|
||||
run: |
|
||||
cd frontend
|
||||
yarn type-check
|
||||
|
||||
- name: Run frontend tests with coverage and automatic Zod validation
|
||||
run: |
|
||||
echo "=== Running frontend tests ==="
|
||||
echo "Current directory: $(pwd)"
|
||||
cd frontend
|
||||
echo "Frontend directory contents after install:"
|
||||
ls -la
|
||||
echo "node_modules exists: $(test -d node_modules && echo 'yes' || echo 'no')"
|
||||
echo "Checking yarn configuration:"
|
||||
yarn config list
|
||||
echo "Running tests with coverage..."
|
||||
# Zod validation happens automatically in test mode, no explicit .parse() calls needed
|
||||
yarn test:unit --coverage
|
||||
echo "Tests completed successfully"
|
||||
|
||||
# Temporarily disable artifact upload to debug main tests
|
||||
# - name: Upload frontend coverage to artifacts
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: frontend-coverage
|
||||
# path: frontend/coverage/
|
||||
echo "=== Frontend Test Complete ==="
|
||||
|
||||
integration-tests:
|
||||
name: Integration Tests
|
||||
|
||||
Reference in New Issue
Block a user