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
11 changes: 3 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,10 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install
runtime: node@22
cache: true
- name: Download all artifacts
uses: actions/download-artifact@v8
with:
Expand Down
70 changes: 21 additions & 49 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: 22
cache: pnpm
runtime: node@22
cache: true
- name: Install
uses: dtolnay/rust-toolchain@stable
uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772
with:
toolchain: stable
components: clippy, rustfmt
- name: Install dependencies
run: pnpm install
- name: Oxlint
run: pnpm lint
- name: Prettier
Expand Down Expand Up @@ -100,15 +96,14 @@ jobs:
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
# Installed on the host so the container does not need pnpm; the workspace is mounted
# into it, so `npm run build` finds the napi CLI in node_modules.
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: 22
cache: pnpm
runtime: node@22
cache: true
- name: Install
uses: dtolnay/rust-toolchain@stable
uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772
with:
toolchain: stable
targets: ${{ matrix.settings.target }}
Expand All @@ -127,10 +122,6 @@ jobs:
run: ${{ matrix.settings.setup }}
if: ${{ matrix.settings.setup }}
shell: bash
# Installed on the host so the container does not need pnpm; the workspace is mounted
# into it, so `npm run build` finds the napi CLI in node_modules.
- name: Install dependencies
run: pnpm install
# The build downloads the matching prebuilt native SDK for the target, so these steps
# need network access.
# The image ships Rust 1.82, which predates edition 2024. That edition is required
Expand Down Expand Up @@ -183,28 +174,19 @@ jobs:
settings:
- host: windows-latest
target: x86_64-pc-windows-msvc
architecture: x64
- host: macos-latest
- host: macos-15-intel

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how long Github will support Intel macs (considering that the latest release in only available on Apple silicon). I think testing under Rosetta could work for a longer time.

target: x86_64-apple-darwin
architecture: x64
- host: macos-latest
target: aarch64-apple-darwin
architecture: arm64
node:
- '22'
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: ${{ matrix.node }}
cache: pnpm
architecture: ${{ matrix.settings.architecture }}

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed architecture, maybe it is not needed?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turns out this was using Rosetta on the arm64 runner, see also #33 (comment).

- name: Install dependencies
run: pnpm install
runtime: node@${{ matrix.node }}
cache: true
- name: Download artifacts
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -234,13 +216,10 @@ jobs:
runs-on: ${{ contains(matrix.target, 'aarch64') && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: ${{ matrix.node }}
cache: pnpm
runtime: node@${{ matrix.node }}
cache: true
- name: Output docker params
id: docker
run: |
Expand All @@ -253,8 +232,6 @@ jobs:
" >> $GITHUB_OUTPUT
echo "IMAGE=node:${{ matrix.node }}-slim" >> $GITHUB_OUTPUT
echo "PNPM_STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
- name: Install dependencies
run: pnpm install --force

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if --force was important here, and whether it is appropriately replaced by the new behavior ...

- name: Download artifacts
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -282,15 +259,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: setup pnpm
uses: pnpm/action-setup@v6
- name: Setup node
uses: actions/setup-node@v7
- uses: pnpm/setup@703c52620218391530e48b9e8870d5c0082e1b9b # v2.1.0
with:
node-version: 22
cache: pnpm
- name: Install dependencies
run: pnpm install
runtime: node@22
cache: true
- name: Download artifacts
uses: actions/download-artifact@v8
with:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,5 @@
"singleQuote": true,
"arrowParens": "always"
},
"packageManager": "pnpm@11.17.0"
"packageManager": "pnpm@12.4.1"
}