Stuff was done, fixes are being worked on, someday, CI will work.
Some checks failed
CI/CD Pipeline / Backend Tests (Python) (push) Failing after 1m16s
CI/CD Pipeline / Frontend Tests (TypeScript/Vue) (push) Failing after 6m42s
CI/CD Pipeline / Integration Tests (push) Has been skipped

Signed-off-by: Cliff Hill <xlorep@darkhelm.org>
This commit is contained in:
2025-10-21 09:32:07 -04:00
parent 225f99cf2a
commit 506fe942cb

View File

@@ -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