Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update logger to support errors with cause #2435

Merged
merged 12 commits into from
Jun 11, 2024
Merged

Update logger to support errors with cause #2435

merged 12 commits into from
Jun 11, 2024

Conversation

stwiname
Copy link
Collaborator

@stwiname stwiname commented Jun 10, 2024

Description

Now that we're using Error cause we need to update the logger to include the possible nested causes. It also adds some colors
Screenshot 2024-06-10 at 1 57 27 PM

Also fixes, exitWithError logging the message and not the error

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have tested locally
  • I have performed a self review of my changes
  • Updated any relevant documentation
  • Linked to any relevant issues
  • I have added tests relevant to my changes
  • Any dependent changes have been merged and published in downstream modules
  • My code is up to date with the base branch
  • I have updated relevant changelogs. We suggest using chan

Copy link

github-actions bot commented Jun 10, 2024

Coverage report for .

Caution

Test run failed

St.
Category Percentage Covered / Total
🟡 Statements
65.06% (-5.05% 🔻)
18686/28721
🟡 Branches
78.54% (+0.25% 🔼)
2386/3038
🟡 Functions
66.39% (+3.89% 🔼)
1039/1565
🟡 Lines
65.06% (-5.05% 🔻)
18686/28721
Show new covered files 🐣
St.
File Statements Branches Functions Lines
🟢
... / migrate.ts
85.09% 18.18% 100% 85.09%
🟢
... / migrate-abis.controller.ts
95% 87.5% 100% 95%
🟢
... / constants.ts
100% 100% 100% 100%
🟢
... / index.ts
100% 100% 100% 100%
🟢
... / ethereum.ts
82.05% 83.33% 100% 82.05%
🟢
... / migrate-manifest.controller.ts
88% 73.33% 88.89% 88%
🟢
... / migrate-mapping.controller.ts
100% 100% 100% 100%
🟢
... / migrate-controller.ts
92.31% 84.62% 100% 92.31%
🟢
... / migrate.fixtures.ts
100% 100% 100% 100%
🟢
... / migrate-schema.controller.ts
100% 100% 100% 100%
🔴
... / types.ts
0% 0% 0% 0%
🟢
... / createProject.fixtures.ts
96.88% 80% 100% 96.88%
🟢
... / networkFamily.ts
92.59% 88.89% 100% 92.59%
🟢
... / admin.controller.ts
98.62% 96.55% 92.86% 98.62%
🟢
... / blockRange.ts
100% 100% 100% 100%
🟢
... / index.ts
100% 100% 100% 100%
🟢
... / dictionary.fixtures.ts
100% 100% 100% 100%
🟡
... / monitor.service.ts
70.04% 88.24% 94.12% 70.04%
🔴
... / sandbox.service.ts
33.33% 50% 25% 33.33%
🔴
... / worker.monitor.service.ts
41.46% 100% 0% 41.46%
🔴
... / process.ts
50% 66.67% 40% 50%
🔴
... / foreceClean.init.ts
47.62% 100% 0% 47.62%
🔴
... / reindex.init.ts
34.48% 100% 0% 34.48%
🟢
... / string.ts
100% 100% 100% 100%
🔴
... / admin.module.ts
0% 0% 0% 0%
🔴
... / datasourceProcessors.ts
0% 0% 0% 0%
Show files with reduced coverage 🔻
St.
File Statements Branches Functions Lines
🔴
... / deploy.ts
18.91% (-2.24% 🔻)
100%
50% (+50% 🔼)
18.91% (-2.24% 🔻)
🔴
... / publish.ts
44% (-45.33% 🔻)
40% (-17.14% 🔻)
100%
44% (-45.33% 🔻)
🔴
... / deploy-controller.ts
32.49% (-4.98% 🔻)
100% (+22.22% 🔼)
12.5% (-12.5% 🔻)
32.49% (-4.98% 🔻)
🟢
... / generate-controller.ts
97.65%
93.85% (-0.18% 🔻)
100% 97.65%
🟡
... / init-controller.ts
72.38% (+1.89% 🔼)
50% (-18% 🔻)
61.11% (+7.78% 🔼)
72.38% (+1.89% 🔼)
🔴
... / project-controller.ts
17.81% (-79.45% 🔻)
100% (+40% 🔼)
0% (-100% 🔻)
17.81% (-79.45% 🔻)
🔴
... / publish-controller.ts
59.67% (-20.58% 🔻)
58.62% (-12.49% 🔻)
60% (-40% 🔻)
59.67% (-20.58% 🔻)
🔴
... / models.ts
53.33% (-46.11% 🔻)
94.44% (+2.14% 🔼)
38.46% (-61.54% 🔻)
53.33% (-46.11% 🔻)
🟢
... / model.ts
93.14% (-4.57% 🔻)
100%
73.33% (+1.9% 🔼)
93.14% (-4.57% 🔻)
🔴
... / models.ts
47.06% (-52.94% 🔻)
100%
0% (-100% 🔻)
47.06% (-52.94% 🔻)
🔴
... / load.ts
59.18%
50% (-5.56% 🔻)
66.67% 59.18%
🔴
... / utils.ts
56.33% (-6.37% 🔻)
81.25% (+8.08% 🔼)
52% (-4% 🔻)
56.33% (-6.37% 🔻)
🔴
... / base.ts
43.43% (-54.57% 🔻)
100%
40% (-40% 🔻)
43.43% (-54.57% 🔻)
🔴
... / models.ts
25.32% (-74.68% 🔻)
100%
0% (-100% 🔻)
25.32% (-74.68% 🔻)
🟢
... / NodeConfig.ts
88.48% (-0.12% 🔻)
77.59% (-2.04% 🔻)
86.96% (+0.91% 🔼)
88.48% (-0.12% 🔻)
🟡
... / ProjectUpgrade.service.ts
72.39% (-14.68% 🔻)
87.5% (-3.86% 🔻)
84% (-7.3% 🔻)
72.39% (-14.68% 🔻)
🟢
... / db.module.ts
89.06% (+0.78% 🔼)
62.5% (-20.83% 🔻)
80%
89.06% (+0.78% 🔼)
🟡
... / migration-helpers.ts
74.54% (-1.48% 🔻)
86.76% (+6.17% 🔼)
90.91%
74.54% (-1.48% 🔻)
🟢
... / sync-helper.ts
85.42% (-2.96% 🔻)
88.04%
73.77% (-1.23% 🔻)
85.42% (-2.96% 🔻)
🟡
... / StoreOperations.ts
72.94% (-19.37% 🔻)
86.36% (+1.36% 🔼)
87.5% (-12.5% 🔻)
72.94% (-19.37% 🔻)
🔴
... / benchmark.service.ts
43.36% (-11.89% 🔻)
66.67%
36.36% (-3.64% 🔻)
43.36% (-11.89% 🔻)
🔴
... / base-block-dispatcher.ts
19% (-28.35% 🔻)
100%
4.35% (-5.65% 🔻)
19% (-28.35% 🔻)
🔴
... / block-dispatcher.ts
26.98% (-14.01% 🔻)
66.67%
25% (-3.57% 🔻)
26.98% (-14.01% 🔻)
🔴
... / worker-block-dispatcher.ts
36.17% (-14.04% 🔻)
100%
25% (-2.27% 🔻)
36.17% (-14.04% 🔻)
🔴
... / coreDictionary.ts
45.33% (-54.67% 🔻)
87.5% (-6.94% 🔻)
77.78% (-22.22% 🔻)
45.33% (-54.67% 🔻)
🟡
... / dictionary.service.ts
67% (-18.15% 🔻)
80% (-5.71% 🔻)
83.33% (-7.58% 🔻)
67% (-18.15% 🔻)
🟡
... / dictionaryV1.ts
71.43% (-21.8% 🔻)
73.81% (-4.45% 🔻)
91.67% (-8.33% 🔻)
71.43% (-21.8% 🔻)
🟡
... / dictionaryV2.ts
67.37% (-14.31% 🔻)
68% (+2.78% 🔼)
88.89% (-11.11% 🔻)
67.37% (-14.31% 🔻)
🔴
... / ds-processor.service.ts
39.37% (-22.72% 🔻)
75%
58.33% (-29.17% 🔻)
39.37% (-22.72% 🔻)
🔴
... / dynamic-ds.service.ts
59.84% (-30.35% 🔻)
65% (-1.67% 🔻)
80% (-5.71% 🔻)
59.84% (-30.35% 🔻)
🟢
... / inMemoryCache.service.ts
86.21% (-13.79% 🔻)
100%
75% (-25% 🔻)
86.21% (-13.79% 🔻)
🔴
... / indexer.manager.ts
16.13% (-17.08% 🔻)
100%
10% (-2.5% 🔻)
16.13% (-17.08% 🔻)
🟡
... / PoiBlock.ts
73.39% (-25% 🔻)
57.89% (-38.66% 🔻)
75% (-25% 🔻)
73.39% (-25% 🔻)
🔴
... / poi.service.ts
56.64% (+32.71% 🔼)
55.56% (-44.44% 🔻)
80% (+51.43% 🔼)
56.64% (+32.71% 🔼)
🔴
... / poiModel.ts
40% (-23.64% 🔻)
71.43%
44.44% (-12.7% 🔻)
40% (-23.64% 🔻)
🔴
... / poiSync.service.ts
55.88% (-31% 🔻)
77.61% (+1.05% 🔼)
88.89% (-3.42% 🔻)
55.88% (-31% 🔻)
🟡
... / project.service.ts
65.82% (-14.18% 🔻)
69.64% (-0.53% 🔻)
80.77% (-3.23% 🔻)
65.82% (-14.18% 🔻)
🟡
... / sandbox.ts
60.49% (-7.49% 🔻)
57.14%
57.14% (-4.4% 🔻)
60.49% (-7.49% 🔻)
🔴
... / smartBatch.service.ts
10.43% (-13.91% 🔻)
100%
12.5% (-1.79% 🔻)
10.43% (-13.91% 🔻)
🟡
... / store.service.ts
64.45% (-1.59% 🔻)
69.23% (+0.81% 🔼)
54.84% (-2.3% 🔻)
64.45% (-1.59% 🔻)
🔴
... / entity.ts
19.23% (-42.31% 🔻)
100% 0%
19.23% (-42.31% 🔻)
🔴
... / store.ts
13.11% (-19.09% 🔻)
100% 0%
13.11% (-19.09% 🔻)
🟢
... / cacheMetadata.ts
88.51%
74.42% (-1.14% 🔻)
93.75% (+0.42% 🔼)
88.51%
🟡
... / cacheModel.ts
68.48% (-16.6% 🔻)
84.51% (+6.19% 🔼)
71.43% (-4.76% 🔻)
68.48% (-16.6% 🔻)
🟡
... / cachePoi.ts
75.53% (-18.09% 🔻)
88.89%
71.43% (-11.9% 🔻)
75.53% (-18.09% 🔻)
🟢
... / cacheable.ts
89.66% (-0.97% 🔻)
75% 100%
89.66% (-0.97% 🔻)
🟡
... / csvStore.service.ts
76.92% (-14.1% 🔻)
80%
80% (-20% 🔻)
76.92% (-14.1% 🔻)
🟢
... / test.runner.ts
94.67% (-4.67% 🔻)
73.33%
66.67% (-33.33% 🔻)
94.67% (-4.67% 🔻)
🔴
... / testing.service.ts
12% (-16.57% 🔻)
100% 0%
12% (-16.57% 🔻)
🟡
... / unfinalizedBlocks.service.ts
63.19% (-20.79% 🔻)
96.72%
88% (-3.67% 🔻)
63.19% (-20.79% 🔻)
🔴
... / worker.builder.ts
59.83% (-19.36% 🔻)
65.38% 80%
59.83% (-19.36% 🔻)
🔴
... / worker.cache.service.ts
48.78% (-9.76% 🔻)
100% 0%
48.78% (-9.76% 🔻)
🔴
... / worker.connectionPoolState.manager.ts
38.21% (-22.76% 🔻)
100% 0%
38.21% (-22.76% 🔻)
🔴
... / worker.dynamic-ds.service.ts
44.44% (-17.78% 🔻)
100% 0%
44.44% (-17.78% 🔻)
🔴
... / worker.service.ts
20.35% (-24.29% 🔻)
100% 0%
20.35% (-24.29% 🔻)
🟢
... / worker.store.service.ts
80% (-2.61% 🔻)
100% 50%
80% (-2.61% 🔻)
🔴
... / worker.ts
41.82% (-0.63% 🔻)
100% 0%
41.82% (-0.63% 🔻)
🔴
... / worker.unfinalizedBlocks.service.ts
33.33% (-66.67% 🔻)
100%
0% (-100% 🔻)
33.33% (-66.67% 🔻)
🔴
... / logger.ts
44.74% (-19.74% 🔻)
33.33%
40% (+20% 🔼)
44.74% (-19.74% 🔻)
🔴
... / event.listener.ts
43.43% (-37.37% 🔻)
100%
23.08% (-1.92% 🔻)
43.43% (-37.37% 🔻)
🔴
... / health.controller.ts
37.93% (-17.24% 🔻)
100%
33.33% (-16.67% 🔻)
37.93% (-17.24% 🔻)
🔴
... / health.service.ts
26.03% (-31.51% 🔻)
100%
16.67% (-3.33% 🔻)
26.03% (-31.51% 🔻)
🔴
... / meta.service.ts
23.81% (-45.71% 🔻)
100% (+20% 🔼)
27.27% (-12.73% 🔻)
23.81% (-45.71% 🔻)
🔴
... / ready.controller.ts
34.78% (-21.74% 🔻)
100%
33.33% (-16.67% 🔻)
34.78% (-21.74% 🔻)
🔴
... / ready.service.ts
54.17% (-37.5% 🔻)
100%
50% (-16.67% 🔻)
54.17% (-37.5% 🔻)
🔴
... / forceClean.service.ts
22.08% (-4.24% 🔻)
100% 0%
22.08% (-4.24% 🔻)
🔴
... / reindex.service.ts
14.73% (-18.6% 🔻)
100% 0%
14.73% (-18.6% 🔻)
🟡
... / autoQueue.ts
60.3% (-28.09% 🔻)
85.11%
73.08% (-6.09% 🔻)
60.3% (-28.09% 🔻)
🟡
... / blocks.ts
77.78% (-22.22% 🔻)
88.89%
66.67% (-33.33% 🔻)
77.78% (-22.22% 🔻)
🟡
... / project.ts
67.11% (-6.27% 🔻)
58.49% (-16.09% 🔻)
77.78%
67.11% (-6.27% 🔻)
🟢
... / promise.ts
86.44% (-5.32% 🔻)
100% (+13.64% 🔼)
71.43% (-14.29% 🔻)
86.44% (-5.32% 🔻)
🔴
... / yargs.ts
44.38% (-1.11% 🔻)
100% 14.29%
44.38% (-1.11% 🔻)
🟢
... / SubqueryProject.ts
93.33% (-2.19% 🔻)
46.67% (-35.69% 🔻)
87.5% (+1.79% 🔼)
93.33% (-2.19% 🔻)
🟡
... / apiPromise.connection.ts
77.08% (+8% 🔼)
50% (-30% 🔻)
62.5% (+19.64% 🔼)
77.08% (+8% 🔼)
🔴
... / worker-block-dispatcher.service.ts
24.64% (-12.32% 🔻)
0% (-100% 🔻)
0%
24.64% (-12.32% 🔻)
🟢
... / substrateDictionary.service.ts
93.2% (+2.64% 🔼)
41.67% (-31.06% 🔻)
100% (+20% 🔼)
93.2% (+2.64% 🔼)
🟢
... / substrateDictionaryV1.ts
85.05% (-0.43% 🔻)
70.45% (+0.69% 🔼)
84.62% (+1.28% 🔼)
85.05% (-0.43% 🔻)
🟡
... / substrateDictionaryV2.ts
70.79% (-4.72% 🔻)
50% (-25% 🔻)
33.33%
70.79% (-4.72% 🔻)
🟢
... / fetch.module.ts
90% (-1.88% 🔻)
50% (-25% 🔻)
100%
90% (-1.88% 🔻)
🔴
... / indexer.manager.ts
56.35% (-1.2% 🔻)
100%
20% (+10.91% 🔼)
56.35% (-1.2% 🔻)
🟢
... / runtimeService.ts
94.29% (+2.08% 🔼)
81.82% (-7.07% 🔻)
100% (+20% 🔼)
94.29% (+2.08% 🔼)
🔴
... / http.ts
49.03% (-30.89% 🔻)
40%
28.57% (-2.2% 🔻)
49.03% (-30.89% 🔻)
🟢
... / project.ts
88.81% (-0.08% 🔻)
68.18% 87.5%
88.81% (-0.08% 🔻)
🟢
... / buffer.ts
95.12% (-4.88% 🔻)
95.65% (-4.35% 🔻)
85.71% (+1.5% 🔼)
95.12% (-4.88% 🔻)
🟢
... / builder.ts
92.77%
82.14% (-0.62% 🔻)
100% 92.77%
🟡
... / logger.ts
69.01% (-0.59% 🔻)
50% (-5% 🔻)
78.57% (+3.57% 🔼)
69.01% (-0.59% 🔻)

Test suite run failed

Failed tests: 5/546. Failed suites: 3/98.
  ● Codegen can generate schema › Should dedupe enums

    ENOENT: no such file or directory, open '/home/runner/work/subql/subql/packages/cli/test/schemaTest/src/types/models/foo.ts'




  ● Cli publish › should upload appropriate project to IPFS

    Publish project to default IPFS failed

      174 |     const results = ipfsWrite.addAll(contents, {pin: true, cidVersion: 0, wrapWithDirectory: isMultichain});
      175 |     for await (const result of results) {
    > 176 |       fileCidMap.set(result.path, result.cid.toString());
          |               ^
      177 |
      178 |       await ipfsWrite.pin.remote.add(result.cid, {service: PIN_SERVICE}).catch((e) => {
      179 |         console.warn(

      at packages/cli/src/controller/publish-controller.ts:176:15
          at async Promise.all (index 0)
      at async uploadFile (packages/cli/src/controller/publish-controller.ts:179:30)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:102:26)
      at async /home/runner/work/subql/subql/packages/cli/src/controller/publish-controller.ts:107:26
          at async Promise.all (index 3)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:105:9)
          at async Promise.all (index 0)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:93:17)
      at async /home/runner/work/subql/subql/packages/cli/src/controller/publish-controller.ts:107:26
          at async Promise.all (index 5)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:105:9)
      at async uploadToIpfs (packages/cli/src/controller/publish-controller.ts:72:28)
      at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:33:21)

    Cause:
    HTTPError: <html>
    <head><title>403 Forbidden</title></head>
    <body>
    <center><h1>403 Forbidden</h1></center>
    <hr><center>nginx/1.17.7</center>
    </body>
    </html>

      177 |
      178 |       await ipfsWrite.pin.remote.add(result.cid, {service: PIN_SERVICE}).catch((e) => {
    > 179 |         console.warn(
          |                      ^
      180 |           `Failed to pin file ${result.path}. There might be problems with this file being accessible later. ${e}`
      181 |         );
      182 |       });

      at Object.errorHandler [as handleError] (node_modules/ipfs-http-client/cjs/src/lib/core.js:84:15)
      at async Client.fetch (node_modules/ipfs-http-client/node_modules/ipfs-utils/src/http.js:161:9)
      at async addAll (node_modules/ipfs-http-client/cjs/src/add-all.js:21:17)
      at async Object.last [as default] (node_modules/it-last/index.js:13:20)
      at async Object.add (node_modules/ipfs-http-client/cjs/src/add.js:18:14)
          at async Promise.all (index 0)
      at async uploadFile (packages/cli/src/controller/publish-controller.ts:179:30)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:102:26)
      at async /home/runner/work/subql/subql/packages/cli/src/controller/publish-controller.ts:107:26
          at async Promise.all (index 3)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:105:9)
          at async Promise.all (index 0)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:93:17)
      at async /home/runner/work/subql/subql/packages/cli/src/controller/publish-controller.ts:107:26
          at async Promise.all (index 5)
      at async replaceFileReferences (packages/cli/src/controller/publish-controller.ts:105:9)
      at async uploadToIpfs (packages/cli/src/controller/publish-controller.ts:72:28)
      at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:33:21)


  ● Intergration test - Publish › overwrites any exisiting CID files

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      28 |   it('overwrites any exisiting CID files', async () => {
      29 |     const initCID = 'QmWLxg7xV7ZWUyc7ZxZ8XuQQ7NmH8WQGXzg7VZ3QQNqF-testing';
    > 30 |     const cidFilePath = path.resolve(projectDir, '.project-cid');
         |     ^
      31 |     await fs.promises.writeFile(cidFilePath, initCID);
      32 |     await Publish.run(['-f', projectDir, '-o']);
      33 |     const cidValue = await fs.promises.readFile(cidFilePath, 'utf8');

      at packages/cli/src/commands/publish.test.ts:30:5
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:1)

  ● Intergration test - Publish › create ipfsCID file stored in local with dictiory path

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      36 |
      37 |   it('create ipfsCID file stored in local with dictiory path', async () => {
    > 38 |     await Publish.run(['-f', projectDir]);
         |     ^
      39 |     const cidFile = path.resolve(projectDir, '.project-cid');
      40 |     const fileExists = fs.existsSync(cidFile);
      41 |     const IPFScontent = await fs.promises.readFile(cidFile, 'utf8');

      at packages/cli/src/commands/publish.test.ts:38:5
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:1)

  ● Intergration test - Publish › file name consistent with manfiest file name, if -f <manifest path> is used

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      45 |
      46 |   // Run this last because it modifies the project
    > 47 |   it('file name consistent with manfiest file name, if -f <manifest path> is used', async () => {
         |     ^
      48 |     const manifestPath = path.resolve(projectDir, 'project.yaml');
      49 |     const testManifestPath = path.resolve(projectDir, 'test.yaml');
      50 |     fs.renameSync(manifestPath, testManifestPath);

      at packages/cli/src/commands/publish.test.ts:47:5
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:1)

Report generated by 🧪jest coverage report action from 912bb09

@stwiname stwiname merged commit 9a91854 into main Jun 11, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants