name: Server Unit Tests on: pull_request: paths: - "server/**" permissions: contents: read pull-requests: read jobs: changes: name: Check changed files runs-on: ubuntu-latest outputs: server: ${{ steps.filter.outputs.server }} steps: - name: Check changed files id: filter uses: dorny/paths-filter@6852f92c20ea7fd3b0c25de3b5112db3a98da050 with: filters: | server: - "server/**" - "shared/**" - "package.json" - "bun.lock" - ".github/workflows/server-unit-tests.yml" unit-tests: name: Unit Tests needs: changes if: needs.changes.outputs.server == 'true' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Bun uses: oven-sh/setup-bun@v2 with: bun-version: 1.3.10 - name: Install dependencies run: bun install - name: Run unit tests run: bun test tests/unit working-directory: server