Skip to content

Commit 5389000

Browse files
razor-xclaude
andauthored
Upgrade Node.js to v24 and update GitHub Actions (#457)
* Upgrade Node.js to v24 and modernize development tooling Adopt the toolchain patterns from @seamapi/makenew-tsmodule v3.0.4, mirroring the update already applied to seamapi/python, seamapi/javascript-http, and seamapi/docs. - Add engines and devEngines and drop .nvmrc. Node v24 is now the default in CI, with v22.11.0 still supported. - Update the workflow action versions and install dependencies with npm ci --ignore-scripts followed by npm rebuild. - Update the npm dependencies. Refreshing the lockfile also records the esbuild platform packages that npm tracks for tsx. - Fix the tsconfig.json schema URL. TypeScript v6 is already in place through @seamapi/smith v1.1.0, which declares typescript, tsx, eslint, and jiti as peer dependencies and depends on @types/node directly, so none of them are declared here. @seamapi/blueprint is held at v1.1.0. Its v1.2.0 rejects the undocumented submit_args property on /seam/connect_webview/v1/submit and fails the codegen against the pinned @seamapi/types; the Dependabot seam group will take that bump together with a compatible @seamapi/types. The PHP toolchain is unchanged: Composer, PHPUnit, and the PHP version in CI are untouched. Running the codegen produces byte for byte identical output under the updated toolchain, including the Prettier v3.9.6 and php-parser v3.7.0 upgrades. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z4Rr236utqkdJ9HMYnAPd * feat(deps-dev): Update npm dependencies Bring every npm dependency to its latest release, including the major bump of @prettier/plugin-php to v0.25.0 and the minor bump of @seamapi/blueprint to v1.2.0. npm outdated is now empty. @seamapi/blueprint v1.2.0 rejects properties that do not define a type, so it requires @seamapi/types v1.985.0 to build. The two are bumped together here. Regenerating against @seamapi/types v1.985.0 adds three purely additive schema changes to the SDK: - akiles_metadata on AcsCredential and on the ActionAttempt credential - access_code and noise_threshold on ActionAttemptResult - enforced_setpoint_range_celsius on DeviceSensiMetadata Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z4Rr236utqkdJ9HMYnAPd --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent f15ad85 commit 5389000

13 files changed

Lines changed: 345 additions & 232 deletions

File tree

.github/actions/setup/action.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ inputs:
55
node_version:
66
description: The Node.js version.
77
required: false
8-
default: '20'
8+
default: '24'
99
registry_url:
1010
description: The Node.js package registry URL.
1111
required: false
@@ -19,19 +19,27 @@ runs:
1919
using: composite
2020
steps:
2121
- name: Setup Node.js
22-
uses: actions/setup-node@v4
22+
uses: actions/setup-node@v7
2323
if: inputs.install_dependencies == 'true'
2424
with:
25-
cache: npm
2625
node-version: ${{ inputs.node_version }}
2726
registry-url: ${{ inputs.registry_url }}
2827
- name: Setup Node.js without cache
29-
uses: actions/setup-node@v4
28+
uses: actions/setup-node@v7
3029
if: inputs.install_dependencies == 'false'
3130
with:
3231
node-version: ${{ inputs.node_version }}
3332
registry-url: ${{ inputs.registry_url }}
3433
- name: Install dependencies
3534
if: inputs.install_dependencies == 'true'
3635
shell: bash
37-
run: npm ci
36+
run: npm ci --ignore-scripts
37+
- name: Rebuild Node.js modules
38+
shell: bash
39+
run: npm rebuild
40+
- name: Run postinstall script
41+
shell: bash
42+
run: npm run postinstall --if-present
43+
- name: Run prepare script
44+
shell: bash
45+
run: npm run prepare --if-present

.github/workflows/generate.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414
timeout-minutes: 30
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v7
1818
with:
1919
ref: ${{ github.head_ref }}
2020
token: ${{ secrets.GH_TOKEN }}
2121
- name: Import GPG key
22-
uses: crazy-max/ghaction-import-gpg@v6
22+
uses: crazy-max/ghaction-import-gpg@v7
2323
with:
2424
git_user_signingkey: true
2525
git_commit_gpgsign: true
@@ -36,7 +36,7 @@ jobs:
3636
- name: Generate SDK
3737
run: npm run generate
3838
- name: Commit
39-
uses: stefanzweifel/git-auto-commit-action@v5
39+
uses: stefanzweifel/git-auto-commit-action@v7
4040
with:
4141
commit_message: 'ci: Generate code'
4242
commit_user_name: ${{ secrets.GIT_USER_NAME }}

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
timeout-minutes: 30
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v7
1818
with:
1919
fetch-depth: 0
2020

@@ -24,11 +24,11 @@ jobs:
2424
mkdir tmp
2525
outfile=tmp/changelog.txt
2626
echo "outfile=${outfile}" >> $GITHUB_OUTPUT
27-
npx standard-changelog@^2.0.0 --release-count 2 --infile $outfile.tmp --outfile $outfile.tmp
27+
npx standard-changelog@^5.0.0 --release-count 2 --infile $outfile.tmp --outfile $outfile.tmp
2828
sed '1,3d' $outfile.tmp > $outfile
2929
3030
- name: Create GitHub release
31-
uses: softprops/action-gh-release@v1
31+
uses: softprops/action-gh-release@v3
3232
with:
3333
token: ${{ secrets.GH_TOKEN }}
3434
prerelease: ${{ contains(github.ref_name, '-') }}

.github/workflows/semantic-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ jobs:
2222
new_release_version: ${{ steps.release.outputs.new_release_version }}
2323
steps:
2424
- name: Checkout
25-
uses: actions/checkout@v4
25+
uses: actions/checkout@v7
2626
with:
2727
fetch-depth: 0
2828
- name: Semantic release
2929
id: release
30-
uses: cycjimmy/semantic-release-action@v4
30+
uses: cycjimmy/semantic-release-action@v6
3131
with:
3232
dry_run: true
3333
release:
@@ -38,7 +38,7 @@ jobs:
3838
if: needs.semantic.outputs.new_release_published == 'true' && needs.semantic.outputs.new_release_version != '1.0.0'
3939
steps:
4040
- name: Checkout
41-
uses: actions/checkout@v4
41+
uses: actions/checkout@v7
4242
with:
4343
fetch-depth: 1
4444
- name: Release version ${{ needs.semantic.outputs.new_release_version }} on ${{ github.ref_name }}

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- name: Checkout
10-
uses: actions/checkout@v4
10+
uses: actions/checkout@v7
1111
- name: Setup PHP
1212
uses: shivammathur/setup-php@v2
1313
with:

.github/workflows/version.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717
timeout-minutes: 30
1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@v7
2121
with:
2222
token: ${{ secrets.GH_TOKEN }}
2323
- name: Import GPG key
24-
uses: crazy-max/ghaction-import-gpg@v6
24+
uses: crazy-max/ghaction-import-gpg@v7
2525
with:
2626
git_user_signingkey: true
2727
git_commit_gpgsign: true

.nvmrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)