Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/actions/setup-node-pnpm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 'Setup Node with Corepack and pnpm'
description: 'Sets up Node.js with Corepack-managed pnpm and caching'

inputs:
node-version-file:
description: 'Path to Node version file'
required: false
default: '.node-version'
node-version:
description: 'Node version (overrides node-version-file)'
required: false
registry-url:
description: 'Registry URL for npm authentication'
required: false

runs:
using: 'composite'
steps:
- name: Setup Node.js
uses: actions/setup-node@v6
id: setup-node
with:
node-version: ${{ inputs.node-version }}
node-version-file: ${{ inputs.node-version && '' || inputs.node-version-file }}
registry-url: ${{ inputs.registry-url }}

- name: Enable Corepack
shell: bash
run: corepack enable

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.pnpm-store
key: ${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-node-${{ steps.setup-node.outputs.node-version }}-pnpm-store-

- name: Install dependencies
shell: bash
env:
PNPM_STORE_DIR: ${{ github.workspace }}/.pnpm-store
run: pnpm install --frozen-lockfile
26 changes: 4 additions & 22 deletions .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,34 +18,16 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- run: pnpm install
- uses: actions/checkout@v6
- uses: ./.github/actions/setup-node-pnpm
- run: pnpm run build:all
- run: pnpm run test:conformance:client:all

server-conformance:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- run: pnpm install
- uses: actions/checkout@v6
- uses: ./.github/actions/setup-node-pnpm
- run: pnpm run build:all
- run: pnpm run test:conformance:server
56 changes: 6 additions & 50 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,7 @@ jobs:

steps:
- uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
id: pnpm-install
with:
run_install: false
- uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- run: pnpm install
- uses: ./.github/actions/setup-node-pnpm
- run: pnpm run check:all
- run: pnpm run build:all

Expand All @@ -42,20 +30,9 @@ jobs:

steps:
- uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
id: pnpm-install
with:
run_install: false
- uses: actions/setup-node@v6
- uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- run: pnpm install

- run: pnpm test:all

publish:
Expand All @@ -69,20 +46,10 @@ jobs:
id-token: write

steps:
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
id: pnpm-install
with:
run_install: false
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: ./.github/actions/setup-node-pnpm
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
registry-url: 'https://registry.npmjs.org'
- run: pnpm install

- name: Determine npm tag
id: npm-tag
Expand Down Expand Up @@ -120,22 +87,11 @@ jobs:
contents: write

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0 # Fetch all history for all branches and tags

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install dependencies
run: pnpm install
- uses: ./.github/actions/setup-node-pnpm

- name: Configure Git
run: |
Expand Down
15 changes: 1 addition & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,10 @@ jobs:

steps:
- uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v6
- uses: ./.github/actions/setup-node-pnpm
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: pnpm install

- name: Build packages
run: pnpm run build:all

Expand Down
15 changes: 1 addition & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v6
- uses: ./.github/actions/setup-node-pnpm
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: pnpm install

- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
Expand Down
16 changes: 1 addition & 15 deletions .github/workflows/update-spec-types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@v4
id: pnpm-install
with:
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install dependencies
run: pnpm install
- uses: ./.github/actions/setup-node-pnpm

- name: Fetch latest spec types
run: pnpm run fetch:spec-types
Expand Down
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v24.13.1
Loading