Skip to content

Feature/web/dashboard #11

Feature/web/dashboard

Feature/web/dashboard #11

name: Lint, Test, Build Web
on:
pull_request:
branches: ["develop"]
paths: [
"frontend/occupi-web/**",
]
workflow_dispatch:
defaults:
run:
working-directory: frontend/occupi-web
jobs:
# Lint job
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest # or "latest", "canary", <sha>
- name: Install dependencies with Bun
run: bun install
- name: Lint with ESLint
run: bun run lint
# Test job
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest # or "latest", "canary", <sha>
- name: Install dependencies with Bun
run: bun install
- name: Test with Jest
run: bun test --coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest # or "latest", "canary", <sha>
- name: Install dependencies with Bun
run: bun install
- name: Build with Next.js
run: bun run build