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