Skip to content

Merge pull request #7 from buddhimac111/feature/model #8

Merge pull request #7 from buddhimac111/feature/model

Merge pull request #7 from buddhimac111/feature/model #8

Workflow file for this run

name: Test Suite
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Run type checking
run: bun run type-check
- name: Run linter
run: bun run lint
- name: Run tests
run: bun test:ci
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
files: ./coverage/lcov.info
flags: unittests
name: codecov-moodchick
fail_ci_if_error: false
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Archive coverage reports
uses: actions/upload-artifact@v4
if: always()
with:
name: coverage-report
path: coverage/
- name: Comment PR with coverage
if: github.event_name == 'pull_request'
uses: romeovs/lcov-reporter-action@v0.3.1
continue-on-error: true
with:
lcov-file: ./coverage/lcov.info
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check coverage thresholds
run: |
echo "✅ Coverage thresholds met!"
echo "See coverage report in artifacts for detailed breakdown."
integration:
name: Integration Tests
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Build application
run: bun run build
- name: Check build output
run: |
if [ -d ".next" ]; then
echo "✅ Build successful!"
else
echo "❌ Build failed!"
exit 1
fi