openreplay/.github/workflows/tracker-tests.yaml
nick-delirium c09c608bbb
workflows
2024-10-11 16:27:25 +02:00

90 lines
2.4 KiB
YAML

name: Tracker tests
on:
workflow_dispatch:
push:
branches: [ "main", "dev" ]
paths:
- tracker/**
pull_request:
branches: [ "dev", "main" ]
paths:
- tracker/**
jobs:
build-and-test:
runs-on: macos-latest
name: Build and test Tracker
steps:
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: actions/checkout@v3
# Cache tracker node_modules
- name: Cache tracker modules
uses: actions/cache@v3
with:
path: tracker/tracker/node_modules
key: ${{ runner.OS }}-test_tracker_build-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
test_tracker_build{{ runner.OS }}-build-
test_tracker_build{{ runner.OS }}-
# Cache tracker-assist node_modules
- name: Cache tracker-assist modules
uses: actions/cache@v3
with:
path: tracker/tracker-assist/node_modules
key: ${{ runner.OS }}-test_tracker_build-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
test_tracker_build{{ runner.OS }}-build-
test_tracker_build{{ runner.OS }}-
# Setup testing packages for Tracker
- name: Setup Testing packages for Tracker
run: |
cd tracker/tracker
pnpm install
# Run Jest tests for Tracker
- name: Jest tests for Tracker
run: |
cd tracker/tracker
bun run test:ci
# Build Tracker project
- name: Build Tracker
run: |
cd tracker/tracker
bun run build
# Setup testing packages for Tracker Assist
- name: (TA) Setup Testing packages for Tracker Assist
run: |
cd tracker/tracker-assist
pnpm install
# Run Jest tests for Tracker Assist
- name: (TA) Jest tests for Tracker Assist
run: |
cd tracker/tracker-assist
bun run test:ci
# Build Tracker Assist project
- name: (TA) Build Tracker Assist
run: |
cd tracker/tracker-assist
bun run build
# Upload coverage reports to Codecov
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: tracker
name: tracker