node-sqlite3 icon indicating copy to clipboard operation
node-sqlite3 copied to clipboard

[Improvements🛠️]:Update tools directory, CI workflow, and dependencies for better compatibility and performance

Open wind111-lang opened this issue 1 year ago • 3 comments

Changed tools/semver-check.js

Node.js 10 was end-of-life on December 31, 2021. so using process.versions.node to always use the current Node.js version. This change solves fix GitHub Actions test failures caused by specifying Node.js '10.12.0'. node-sqlite3 testing with Node.js 18, so '10.12.0' isn’t need.

Changed tools/BinaryBuilder.Dockerfile

  • Fixed network connectivity issue during tests on bullseye with Node.js 18. Added --maxsockets=1 to npm install as a temporary workaround. This fixes the error: Client network socket disconnected before secure TLS connection was established in bullseye CI test.
    • I would like to propose updating our test environment from bullseye to Bookworm. This change aims to leverage the latest software versions, security patches, and performance improvements offered by Bookworm.

Changed workflow CI

  • Improved Apple Silicon compatibility by specifying arm64 architecture for macos-latest.
    • Is macos-m1 test working in self-host-runner? If this change has problem, I undo macos-latest in arm64.
  • Updated setup-msbuild from v1 to v2 for better Windows11 compatibility.
  • Removed setuptools installation step because node-gyp v10 supports Python 3.12 by default.
  • Keep current version of upload-artifact due to test failures with the latest version.

Upgrade some dependencies

  • Updated node-addon-api to 8.0.0 or higher. (#1767 )
  • Updated tar to 7.0.0 or higher. (#1777 )
  • Updated node-gyp to 10 or higher. (#1724 )

These updates improve compatibility, performance, and security of your project.

wind111-lang avatar May 20 '24 02:05 wind111-lang