uNetworking / uWebSockets.js

μWebSockets for Node.js back-ends :metal:
Apache License 2.0
8.08k stars 574 forks source link

Add workflow for building arm64 binaries #710

Closed lukashass closed 2 years ago

lukashass commented 2 years ago

This PR adds a workflow that builds arm64 binaries in qemu. Inspired by https://github.com/uNetworking/uWebSockets.js/issues/645#issuecomment-997402927

I tested the binaries from a test run on a Raspberry Pi 3:

> process.arch
'arm64'
> process.versions
{
  node: '17.6.0',
  v8: '9.6.180.15-node.13',
  uv: '1.43.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '102',
  nghttp2: '1.45.1',
  napi: '8',
  llhttp: '6.0.4',
  openssl: '3.0.1+quic',
  cldr: '40.0',
  icu: '70.1',
  tz: '2021a3',
  unicode: '14.0',
  ngtcp2: '0.1.0-DEV',
  nghttp3: '0.1.0-DEV'
}
> process.features
{
  inspector: true,
  debug: false,
  uv: true,
  ipv6: true,
  tls_alpn: true,
  tls_sni: true,
  tls_ocsp: true,
  tls: true,
  cached_builtins: [Getter]
}
> require('uWebSockets.js')
{
  App: [Function (anonymous)],
  SSLApp: [Function (anonymous)],
  getString: [Function (anonymous)],
  setString: [Function (anonymous)],
  getInteger: [Function (anonymous)],
  setInteger: [Function (anonymous)],
  incInteger: [Function (anonymous)],
  lock: [Function (anonymous)],
  unlock: [Function (anonymous)],
  getIntegerKeys: [Function (anonymous)],
  getStringKeys: [Function (anonymous)],
  deleteString: [Function (anonymous)],
  deleteInteger: [Function (anonymous)],
  deleteStringCollection: [Function (anonymous)],
  deleteIntegerCollection: [Function (anonymous)],
  _cfg: [Function (anonymous)],
  getParts: [Function (anonymous)],
  us_listen_socket_close: [Function (anonymous)],
  us_socket_local_port: [Function (anonymous)],
  DISABLED: 0,
  SHARED_COMPRESSOR: 1,
  SHARED_DECOMPRESSOR: 256,
  DEDICATED_DECOMPRESSOR: 3840,
  DEDICATED_COMPRESSOR: 248,
  DEDICATED_COMPRESSOR_3KB: 145,
  DEDICATED_COMPRESSOR_4KB: 146,
  DEDICATED_COMPRESSOR_8KB: 163,
  DEDICATED_COMPRESSOR_16KB: 180,
  DEDICATED_COMPRESSOR_32KB: 197,
  DEDICATED_COMPRESSOR_64KB: 214,
  DEDICATED_COMPRESSOR_128KB: 231,
  DEDICATED_COMPRESSOR_256KB: 248,
  DEDICATED_DECOMPRESSOR_32KB: 3840,
  DEDICATED_DECOMPRESSOR_16KB: 3584,
  DEDICATED_DECOMPRESSOR_8KB: 3328,
  DEDICATED_DECOMPRESSOR_4KB: 3072,
  DEDICATED_DECOMPRESSOR_2KB: 2816,
  DEDICATED_DECOMPRESSOR_1KB: 2560,
  DEDICATED_DECOMPRESSOR_512B: 2304,
  LIBUS_LISTEN_EXCLUSIVE_PORT: 1
}
ghost commented 2 years ago

Please respond to comments

lukashass commented 2 years ago

Please respond to comments

I'm not quite sure what comments you are referring to :thinking:

ghost commented 2 years ago

I added code comments, review :)

lukashass commented 2 years ago

I can't see any code comments :eyes:

image

ghost commented 2 years ago
Screenshot 2022-04-20 at 07 58 44
lukashass commented 2 years ago

"Pending" is the culprit. You have to submit your review :wink: See https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews

ghost commented 2 years ago

IQ seagull

ghost commented 2 years ago

Did I do it?