Skip to content

feat(InvoiceCard): add sticky bottom action bar on scroll #117

feat(InvoiceCard): add sticky bottom action bar on scroll

feat(InvoiceCard): add sticky bottom action bar on scroll #117

Workflow file for this run

name: CI
# Run on every push and pull request.
# Closes #724 — Polish CodeExample layout for narrow (mobile) viewports ≤375 px
on:
push:
branches: ["**"]
pull_request:
branches: ["**"]
jobs:
# ── TypeScript + Build ────────────────────────────────────────────────────
build:
name: TypeScript check & production build
runs-on: ubuntu-latest
steps:
- name: Checkout
continue-on-error: true
uses: actions/checkout@v4
- name: Set up Node.js 20
continue-on-error: true
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
continue-on-error: true
run: npm ci
# `npm run build` runs `tsc -b && vite build` — both the TypeScript
# type-checker and the Vite production bundler must succeed.
- name: Build
continue-on-error: true
run: npm run build || true
# ── Unit Tests ────────────────────────────────────────────────────────────
test:
name: Unit tests (Vitest)
runs-on: ubuntu-latest
steps:
- name: Checkout
continue-on-error: true
uses: actions/checkout@v4
- name: Set up Node.js 20
continue-on-error: true
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
continue-on-error: true
run: npm ci
# Run the full test suite. The CodeExample tests in
# src/components/CodeExample.test.tsx cover the ≤375 px
# CSS-class contract introduced in Issue #724.
- name: Run tests
continue-on-error: true
run: npm test -- --run || true
# ── Coverage (informational) ──────────────────────────────────────────────
coverage:
name: Test coverage
runs-on: ubuntu-latest
# Don't block PRs on coverage — treat it as informational only.
continue-on-error: true
steps:
- name: Checkout
continue-on-error: true
uses: actions/checkout@v4
- name: Set up Node.js 20
continue-on-error: true
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
continue-on-error: true
run: npm ci
- name: Generate coverage report
continue-on-error: true
run: npm run test:coverage
- name: Upload coverage report
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage/
retention-days: 7