chore(deps): bump in-range patch/minor dependencies #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - name: typecheck (all workspaces) | |
| run: pnpm -r typecheck | |
| - name: unit tests | |
| run: pnpm --filter=sonics test | |
| - name: build library | |
| run: pnpm --filter=sonics build | |
| - name: validate package (publint + are-the-types-wrong) | |
| run: pnpm --filter=sonics lint:pkg | |
| - name: build site + example apps | |
| run: | | |
| pnpm --filter=site build | |
| pnpm --filter=react-example build | |
| pnpm --filter=vanilla-example build | |
| pnpm --filter=vue-example build | |
| - name: pack the publishable tarball | |
| run: | | |
| pnpm --filter=sonics pack --pack-destination "$GITHUB_WORKSPACE/pkg" | |
| mv "$GITHUB_WORKSPACE"/pkg/*.tgz "$GITHUB_WORKSPACE/pkg/sonics.tgz" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: sonics-pkg | |
| path: pkg/sonics.tgz | |
| # Install the BUILT tarball with npm (no pnpm — pnpm needs node >=22.13) and | |
| # import it under each runtime. This tests the real published artifact. | |
| consume: | |
| name: consume-${{ matrix.name }} | |
| needs: verify | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - { name: node20, runtime: node, node: "20" } | |
| - { name: node22, runtime: node, node: "22" } | |
| - { name: bun, runtime: bun, node: "22", bun: true } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| - if: matrix.bun | |
| uses: oven-sh/setup-bun@v2 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: sonics-pkg | |
| path: pkg | |
| - name: install the tarball and import it (esm + cjs) | |
| run: | | |
| work="$RUNNER_TEMP/consume" | |
| mkdir -p "$work" | |
| cp tests/consume/esm.mjs tests/consume/cjs.cjs "$work/" | |
| cd "$work" | |
| npm init -y >/dev/null | |
| npm install "$GITHUB_WORKSPACE/pkg/sonics.tgz" | |
| ${{ matrix.runtime }} ./esm.mjs | |
| ${{ matrix.runtime }} ./cjs.cjs |