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 0a83818..da9a73d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,11 +29,13 @@ 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 } - { 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: diff --git a/package.json b/package.json index 018bda9..a932a80 100644 --- a/package.json +++ b/package.json @@ -13,20 +13,20 @@ "gettimeofday" ], "engines": { - "node": ">= 14.13.0" + "node": ">= 22.22.2" }, "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 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", "format": "clang-format -i src/microtime.cc", "lint-test": "standard && clang-format -output-replacements-xml src/microtime.cc | (! grep -q '