E2E - Rill Developer #5408
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |