From 97cad118c75830c03f4128b66191693d8389338d Mon Sep 17 00:00:00 2001 From: Wade Simmons Date: Thu, 29 Oct 2026 09:09:14 -0400 Subject: [PATCH 1/5] test on current supported versions --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0a83818..d5a7bc5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - node: [14, 16, 18, 19, 20] + node: [22, 24, 26] arch: [x86, x64] exclude: - { os: ubuntu-latest, arch: x86 } From 12bcc64b24dbe25edfb2fec8555d6600c2b60ad8 Mon Sep 17 00:00:00 2001 From: Wade Simmons Date: Thu, 29 Oct 2026 09:25:51 -0400 Subject: [PATCH 2/5] update node-gyp --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 018bda9..28a5c43 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ }, "devDependencies": { "clang-format": "^1.8.0", - "node-gyp": "^9.0.0", + "node-gyp": "^13.1.0", "prebuildify": "^5.0.0", "prebuildify-ci": "^1.0.5", "prebuildify-cross": "^5.0.0", From 5e3ddb3733886412cb033dbbba676fcd1b0113cb Mon Sep 17 00:00:00 2001 From: Wade Simmons Date: Thu, 29 Oct 2026 09:28:20 -0400 Subject: [PATCH 3/5] node 22 was the last win32 release --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d5a7bc5..da9a73d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,6 +34,8 @@ jobs: exclude: - { os: ubuntu-latest, arch: x86 } - { os: macos-latest, arch: x86 } + - { os: windows-latest, arch: x86, node: 24} + - { os: windows-latest, arch: x86, node: 26} runs-on: ${{ matrix.os }} name: ${{ matrix.os }} / Node ${{ matrix.node }} ${{ matrix.arch }} steps: From 5f4f8549f9165b38a92291b1c0395d3fd41496fb Mon Sep 17 00:00:00 2001 From: Wade Simmons Date: Thu, 29 Oct 2026 09:54:52 -0400 Subject: [PATCH 4/5] WIP --- .github/workflows/release.yml | 6 ++-- .github/workflows/smoke.yml | 59 +++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 2 +- package.json | 23 +++++++------- 4 files changed, 75 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/smoke.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1081435..ff38434 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,10 +21,10 @@ jobs: - os: macos-latest arch: x64 build-group: darwin-x64+arm64 - - os: windows-2019 + - os: windows-latest arch: x86 build-group: win32-x86 - - os: windows-2019 + - os: windows-latest arch: x64 build-group: win32-x64 runs-on: ${{ matrix.os }} @@ -39,7 +39,7 @@ jobs: - name: Set up node uses: actions/setup-node@v3 with: - node-version: 14 + node-version: 18 architecture: ${{ matrix.arch }} - name: Install run: npm install --ignore-scripts diff --git a/.github/workflows/smoke.yml b/.github/workflows/smoke.yml new file mode 100644 index 0000000..da76140 --- /dev/null +++ b/.github/workflows/smoke.yml @@ -0,0 +1,59 @@ +name: Smoke +on: workflow_dispatch +concurrency: + group: smoke + cancel-in-progress: true +jobs: + build: + permissions: + contents: read + strategy: + matrix: + # Same as release.yml + include: + - os: ubuntu-latest + arch: x64 + build-group: linux-x64 + - os: ubuntu-latest + arch: x64 + build-group: linux-arm + - os: ubuntu-latest + arch: x64 + build-group: android-arm + - os: macos-latest + arch: x64 + build-group: darwin-x64+arm64 + - os: windows-latest + arch: x86 + build-group: win32-x86 + - os: windows-latest + arch: x64 + build-group: win32-x64 + runs-on: ${{ matrix.os }} + name: Build ${{ matrix.build-group }} + env: + BUILD_GROUP: ${{ matrix.build-group }} + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + submodules: recursive + - name: Set up node + uses: actions/setup-node@v5 + with: + node-version: 18 + architecture: ${{ matrix.arch }} + - name: Install + run: npm install --ignore-scripts + - name: Prebuild + run: npm run prebuild-$BUILD_GROUP + shell: bash + - name: Prepare artifact + run: tar -zcvf $BUILD_GROUP.tar.gz -C prebuilds . + shell: bash + - name: Upload artifact + uses: actions/upload-artifact@v6 + with: + name: ${{ env.BUILD_GROUP }} + path: ${{ env.BUILD_GROUP }}.tar.gz + retention-days: 1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da9a73d..f651950 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - node: [22, 24, 26] + node: [18, 22, 24, 26] arch: [x86, x64] exclude: - { os: ubuntu-latest, arch: x86 } diff --git a/package.json b/package.json index 28a5c43..37fcc51 100644 --- a/package.json +++ b/package.json @@ -13,20 +13,20 @@ "gettimeofday" ], "engines": { - "node": ">= 14.13.0" + "node": ">=18" }, "scripts": { "install": "node-gyp-build", "rebuild": "node-gyp rebuild", - "prebuild": "prebuildify -t 14.13.0 -t electron@18.2.0 --napi --strip", - "prebuild-linux-x64": "prebuildify -t 14.13.0 -t electron@18.2.0 --napi --strip", - "prebuild-linux-arm": "prebuildify-cross -i linux-armv7 -t 14.13.0 --napi --strip", - "prebuild-linux-arm64": "prebuildify-cross -i linux-arm64 -t 14.13.0 --napi --strip", - "prebuild-darwin-x64+arm64": "prebuildify -t 14.13.0 -t electron@18.2.0 --arch x64+arm64 --napi --strip", - "prebuild-win32-x64": "prebuildify -t 14.13.0 -t electron@18.2.0 --napi --strip", - "prebuild-win32-x86": "prebuildify -t 14.13.0 -t electron@18.2.0 --napi --strip", + "prebuild": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", + "prebuild-linux-x64": "prebuildify-cross -i almalinux-devtoolset11 -i alpine -t 18.20.4 -t electron@35.2.0 --napi --strip", + "prebuild-linux-arm": "prebuildify-cross -i linux-armv6 -i linux-armv7 -i linux-arm64-lts -t 18.20.4 --napi --strip", + "prebuild-darwin-x64+arm64": "prebuildify -t 18.20.4 -t electron@35.2.0 --arch x64+arm64 --napi --strip", + "prebuild-win32-x64": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", + "prebuild-win32-x86": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", "download-prebuilds": "prebuildify-ci download", "test": "node test.js", + "test-prebuild": "cross-env PREBUILDS_ONLY=1 npm t", "format": "clang-format -i src/microtime.cc", "lint-test": "standard && clang-format -output-replacements-xml src/microtime.cc | (! grep -q ' Date: Thu, 29 Oct 2026 10:00:52 -0400 Subject: [PATCH 5/5] one last fix --- .github/workflows/test.yml | 2 +- package.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f651950..da9a73d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - node: [18, 22, 24, 26] + node: [22, 24, 26] arch: [x86, x64] exclude: - { os: ubuntu-latest, arch: x86 } diff --git a/package.json b/package.json index 37fcc51..a932a80 100644 --- a/package.json +++ b/package.json @@ -13,17 +13,17 @@ "gettimeofday" ], "engines": { - "node": ">=18" + "node": ">= 22.22.2" }, "scripts": { "install": "node-gyp-build", "rebuild": "node-gyp rebuild", - "prebuild": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", - "prebuild-linux-x64": "prebuildify-cross -i almalinux-devtoolset11 -i alpine -t 18.20.4 -t electron@35.2.0 --napi --strip", - "prebuild-linux-arm": "prebuildify-cross -i linux-armv6 -i linux-armv7 -i linux-arm64-lts -t 18.20.4 --napi --strip", - "prebuild-darwin-x64+arm64": "prebuildify -t 18.20.4 -t electron@35.2.0 --arch x64+arm64 --napi --strip", - "prebuild-win32-x64": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", - "prebuild-win32-x86": "prebuildify -t 18.20.4 -t electron@35.2.0 --napi --strip", + "prebuild": "prebuildify -t 22.22.2 -t electron@35.2.0 --napi --strip", + "prebuild-linux-x64": "prebuildify-cross -i almalinux-devtoolset11 -i alpine -t 22.22.2 -t electron@35.2.0 --napi --strip", + "prebuild-linux-arm": "prebuildify-cross -i linux-armv6 -i linux-armv7 -i linux-arm64-lts -t 22.22.2 --napi --strip", + "prebuild-darwin-x64+arm64": "prebuildify -t 22.22.2 -t electron@35.2.0 --arch x64+arm64 --napi --strip", + "prebuild-win32-x64": "prebuildify -t 22.22.2 -t electron@35.2.0 --napi --strip", + "prebuild-win32-x86": "prebuildify -t 22.22.2 -t electron@35.2.0 --napi --strip", "download-prebuilds": "prebuildify-ci download", "test": "node test.js", "test-prebuild": "cross-env PREBUILDS_ONLY=1 npm t", @@ -37,7 +37,7 @@ "devDependencies": { "clang-format": "^1.8.0", "cross-env": "^7.0.3", - "node-gyp": "^11.2.0", + "node-gyp": "^13.1.0", "prebuildify": "^6.0.1", "prebuildify-ci": "^1.0.5", "prebuildify-cross": "^5.1.1",