MatrixAI / js-db

Key-Value DB for TypeScript and JavaScript Applications
https://polykey.com
Apache License 2.0
5 stars 0 forks source link

ci: merge staging to master #64

Closed MatrixAI-Bot closed 1 year ago

MatrixAI-Bot commented 1 year ago

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911320723 for 7ba545bddcd29f5a20214ebe15bea4c37b2f6c8f

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911320723

ghost commented 1 year ago
👇 Click on the image for a new way to code review #### [![Review these changes using an interactive CodeSee Map](https://s3.us-east-2.amazonaws.com/maps.codesee.io/images/github/MatrixAI/js-db/64/7e692789/952d192e48940a624eece6f48f1389a6a74c2099.svg)](https://app.codesee.io/r/reviews?pr=64&src=https%3A%2F%2Fgithub.com%2FMatrixAI%2Fjs-db) #### Legend CodeSee Map legend
MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911641149 for 6088a76445afa97c17da97f96ef1785b5b2be163

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911641149

CMCDragonkai commented 1 year ago

There's an issue with systeminformation on the m1 mac.

We get an error:

Error: Command failed: ioreg -c IOPlatformDevice -d 3 -r | grep cluster-type
    at checkExecSyncError (node:child_process:885:11)
    at execSync (node:child_process:957:15)
    at /Users/gitlab/builds/zxQ9CHzH/0/MatrixAI/open-source/js-db/node_modules/systeminformation/lib/cpu.js:652:32
    at ChildProcess.exithandler (node:child_process:411:7)
    at ChildProcess.emit (node:events:513:28)
    at ChildProcess.emit (node:domain:489:12)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:513:28) {
  status: 1,
  signal: null,
  output: [ null, Buffer(0) [Uint8Array] [], Buffer(0) [Uint8Array] [] ],
  pid: 34634,
  stdout: Buffer(0) [Uint8Array] [],
  stderr: Buffer(0) [Uint8Array] []
}

However testing on my local m1 mac I can see this working.

It's possible that on the CI maybe there's a missing command. Possibly ioreg doesn't exist or grep doesn't exist. Let's see.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911671923 for 465e5a2481cf07a296abd5fca41bec88e9219364

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911671923

CMCDragonkai commented 1 year ago

There's an issue with systeminformation on the m1 mac.

We get an error:

Error: Command failed: ioreg -c IOPlatformDevice -d 3 -r | grep cluster-type
    at checkExecSyncError (node:child_process:885:11)
    at execSync (node:child_process:957:15)
    at /Users/gitlab/builds/zxQ9CHzH/0/MatrixAI/open-source/js-db/node_modules/systeminformation/lib/cpu.js:652:32
    at ChildProcess.exithandler (node:child_process:411:7)
    at ChildProcess.emit (node:events:513:28)
    at ChildProcess.emit (node:domain:489:12)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:513:28) {
  status: 1,
  signal: null,
  output: [ null, Buffer(0) [Uint8Array] [], Buffer(0) [Uint8Array] [] ],
  pid: 34634,
  stdout: Buffer(0) [Uint8Array] [],
  stderr: Buffer(0) [Uint8Array] []
}

However testing on my local m1 mac I can see this working.

It's possible that on the CI maybe there's a missing command. Possibly ioreg doesn't exist or grep doesn't exist. Let's see.

I may report this in https://gitlab.com/gitlab-org/ci-cd/shared-runners/infrastructure/-/issues/76.

Right now I'm just checking which specific command fails:

    - ioreg -c IOPlatformDevice -d 3 -r
    - ioreg -c IOPlatformDevice -d 3 -r | grep cluster-type
CMCDragonkai commented 1 year ago

Ok nailed it to the grep command. It doesn't exist on the new macos image... I wonder if there's a way to ensure it is installed, perhaps through brew.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911691585 for 96161396f41fc1f01d09360f1da935f975a384ac

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911691585

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911706440 for aeff66ebcb7b5551c7536d3b6855064c077d7d57

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911706440

CMCDragonkai commented 1 year ago

Ok it appears it's not because grep doesn't exist. It appears it's because the information does not exist and grep returns 1 as exit code. It seems systeminformation expects this information to exist.

Reported upstream as I think systeminformation should be less strict: https://github.com/sebhildebrandt/systeminformation/issues/823

@tegefaulkes

CMCDragonkai commented 1 year ago

The only quick fix is to disable the cpu information until it's fixed upstream. That's in the benches/index.ts:

  const systemData = await si.get({
    cpu: '*', // <-- need to comment out
    osInfo: 'platform, distro, release, kernel, arch',
    system: 'model, manufacturer',
  });

We could apply a patch inside the build macos job that applies to the benches/index.ts for now.

MatrixAI-Bot commented 1 year ago

Pipeline Attempt on 911731736 for 952d192e48940a624eece6f48f1389a6a74c2099

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911731736

MatrixAI-Bot commented 1 year ago

Pipeline Succeeded on 911731736 for 952d192e48940a624eece6f48f1389a6a74c2099

https://gitlab.com/MatrixAI/open-source/js-db/-/pipelines/911731736

CMCDragonkai commented 1 year ago

Upstream has fixed it. Just use 5.18.5 of `systeminformation.

    "systeminformation": "^5.18.5",