diff --git a/.github/workflows/presubmit-bun.yml b/.github/workflows/presubmit-bun.yml new file mode 100644 index 00000000000..271d01c9b15 --- /dev/null +++ b/.github/workflows/presubmit-bun.yml @@ -0,0 +1,34 @@ +permissions: + contents: read + +on: + pull_request: +name: presubmit-bun +jobs: + units: + name: units (Node ${{ matrix.node-version }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [22, 24, 26] + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + with: + persist-credentials: false + # Node.js is required by npm for installing dependencies. + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7 + with: + node-version: ${{ matrix.node-version }} + # We continue to use npm (rather than Bun) for installation for consistent + # lockfile/version management between CI/runtimes. + - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 + with: + bun-version: 1.3.14 + - run: bun --version + - run: npm install + - run: bun run test + name: Run unit tests with Bun + env: + MOCHA_THROW_DEPRECATION: false