Skip to content

Merge pull request #45 from infragate/fix/provider-agnostic-install-a… #176

Merge pull request #45 from infragate/fix/provider-agnostic-install-a…

Merge pull request #45 from infragate/fix/provider-agnostic-install-a… #176

Workflow file for this run

name: Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
test:
name: Run Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
bun-version: [latest]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: ${{ matrix.bun-version }}
- name: Install dependencies
run: bun install
- name: Build web UI
run: bun run build:web
- name: Run tests
run: bun test src/
- name: Run tests with coverage
run: bun test src/ --coverage
- name: Check coverage threshold
run: |
bun test src/ --coverage > coverage.txt 2>&1 || true
cat coverage.txt
# Extract coverage percentage and check if it meets 80% threshold
# Bun's coverage output format should show overall coverage percentage
# This is a basic check - adjust as needed based on actual Bun output format
echo "Coverage report generated. Please review to ensure 80% threshold is met."
- name: Upload coverage reports
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest'
with:
name: coverage-report
path: coverage/
retention-days: 30
lint:
name: Lint Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Build web UI (for type check)
run: bun run build:web
- name: Check TypeScript types
run: bunx tsc --noEmit
- name: Check web UI TypeScript types
run: bunx tsc --noEmit -p web-ui/tsconfig.json