name: Other Runtime Package Test
permissions:
  contents: read
on:
  workflow_call:
    inputs:
      package:
        required: true
        type: string

jobs:
  deno-unit-test:
    name: Deno Unit Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v6
        with:
          node-version: 20
          cache: yarn
      - uses: denoland/setup-deno@v2
        with:
          deno-version: 'v2.1.x'
      - run: yarn install --immutable
      - name: Cache for Turbo
        uses: rharkor/caching-for-turbo@v2.3.11
        with:
          cache-prefix: turbo-cache-
      - name: Deno Unit Test
        run: yarn test:deno-unit --filter=./packages/${{ inputs.package }}
  bun-unit-test:
    name: Bun Unit Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v6
        with:
          node-version: 20
          cache: yarn
      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: '1.1.42'
      - run: yarn install --immutable
      - name: Cache for Turbo
        uses: rharkor/caching-for-turbo@v2.3.11
        with:
          cache-prefix: turbo-cache-
      - name: Bun Unit Test
        run: yarn test:bun-unit --filter=./packages/${{ inputs.package }}
        timeout-minutes: 1
