The GitHub Actions job "CI" on rocketmq-dashboard.git/rocketmq-studio has 
failed.
Run started by GitHub user lizhimins (triggered by lizhimins).

Head commit for run:
6a68042fa73a513f40436ca721944b4de48181ec / lizhimins <[email protected]>
fix(web): type the metrics explorer test fixture as MetricData (#5305)

`metricData` had no annotation, so TypeScript inferred `series[].labels` as the
literal `{ cluster: string; node_id: string }` instead of the `Record<string, 
string>`
that `MetricSeries` declares. `createDeferred<typeof metricData>()` then pinned 
that
narrow shape as the deferred's payload type, so the case added by #4888 - which 
resolves
a custom-query series labelled `{ cluster: 'prod', query: 'custom' }` - fails 
the excess
property check:

    src/components/__tests__/MetricsExplorer.test.tsx(516,38): error TS2353:
      Object literal may only specify known properties, and 'query' does not 
exist
      in type '{ cluster: string; node_id: string; }'.

`tsc -b` therefore fails, which breaks `npm run build` (it is `tsc -b && vite 
build &&
npm run license:check`) and with it the frontend CI job and `web/Dockerfile`. 
`npm test`
stays green because vitest transpiles through esbuild and never type-checks, so 
nothing
in the test pipeline caught it.

Annotating the fixture with the API contract type it is standing in for 
restores the
open `Record<string, string>` label map. Type-only: no runtime behaviour 
changes.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/36893304649

With regards,
GitHub Actions via GitBox

Reply via email to