Skip to content

Feat: Visual canvas dashboard #5398

Feat: Visual canvas dashboard

Feat: Visual canvas dashboard #5398

name: Web code quality checks
on:
pull_request:
paths:
- ".github/workflows/web-test.yml"
- "web-admin/**"
- "web-auth/**"
- "web-common/**"
- "web-local/**"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Filter modified codepaths
uses: dorny/paths-filter@v3
id: filter
with:
filters: |
admin:
- ".github/workflows/web-test.yml"
- "web-admin/**"
auth:
- ".github/workflows/web-test.yml"
- "web-auth/**"
local:
- ".github/workflows/web-test.yml"
- "web-local/**"
common:
- ".github/workflows/web-test.yml"
- "web-common/**"
- name: Set up NodeJS
uses: actions/setup-node@v4
with:
node-version: 20
- name: NPM Install
run: npm install
# https://typicode.github.io/husky/how-to.html#ci-server-and-docker
env:
HUSKY: 0
- name: lint and type checks for web common
if: steps.filter.outputs.common == 'true'
run: |-
npx eslint web-common --quiet
npx svelte-check --workspace web-common --no-tsconfig --ignore "src/features/dashboards/time-series/(MetricsTimeSeriesCharts.svelte|MeasureChart.svelte),src/features/dashboards/time-controls/TimeControls.svelte,src/components/data-graphic/elements/GraphicContext.svelte,src/components/data-graphic/guides/(Axis.svelte|DynamicallyPlacedLabel.svelte|Grid.svelte),src/components/data-graphic/compositions/timestamp-profile/TimestampDetail.svelte,src/components/data-graphic/marks/(ChunkedLine.svelte|HistogramPrimitive.svelte|Line.svelte|MultiMetricMouseoverLabel.svelte),src/features/column-profile/column-types/details/SummaryNumberPlot.svelte"
- name: lint and type checks for web local
if: steps.filter.outputs.local == 'true'
run: |-
npx eslint web-local --quiet
npm run check -w web-local
- name: lint and type checks for web admin
if: steps.filter.outputs.admin == 'true'
run: |-
npx eslint web-admin --quiet
npx svelte-check --workspace web-admin --no-tsconfig
- name: lint and type checks for web auth
if: steps.filter.outputs.auth == 'true'
run: |-
npx eslint web-auth --quiet
npx svelte-check --workspace web-auth --no-tsconfig
- name: type check non-svelte files (with temporary whitelist)
run: |-
bash ./scripts/tsc-with-whitelist.sh