Skip to content

feat: implement HtmlViewer and ArchiveViewer with IPC list/extract su… #16

feat: implement HtmlViewer and ArchiveViewer with IPC list/extract su…

feat: implement HtmlViewer and ArchiveViewer with IPC list/extract su… #16

Workflow file for this run

name: Test
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
verify:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest]
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup pnpm and Node
uses: ./.github/actions/setup-pnpm-node
- name: Typecheck
run: pnpm typecheck
- name: Lint
run: pnpm lint
- name: Unit Tests with Coverage
run: pnpm test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: ./coverage/lcov.info
flags: unit
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload coverage artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: coverage-${{ runner.os }}
path: coverage
if-no-files-found: error
- name: Build native macOS module
if: runner.os == 'macOS'
run: pnpm native:build
- name: Native Module Tests (macOS)
if: runner.os == 'macOS'
run: pnpm test:native
- name: Build app
run: pnpm build
- name: Playwright Smoke Tests
if: runner.os != 'Linux'
run: pnpm playwright test
- name: Upload Playwright artifacts
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: playwright-results-${{ runner.os }}
path: |
test-results
playwright-report
if-no-files-found: ignore