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

split web tests #3706

Merged
merged 3 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/web-test-code-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
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@v3

- name: Filter modified codepaths
uses: dorny/paths-filter@v2
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@v3
with:
node-version: 18

- name: NPM Install
run: npm install

- name: lint and type checks for web common
if: steps.filter.outputs.common == 'true'
run: |-
npx eslint web-common --quiet
npx svelte-check --threshold error --workspace web-common --no-tsconfig --ignore "src/components/data-graphic,src/features/dashboards/time-series,src/features/dashboards/time-controls/TimeRangeSelector.svelte,src/features/dashboards/time-controls/TimeControls.svelte"

- name: lint and type checks for web local
if: steps.filter.outputs.local == 'true'
run: |-
npx eslint web-local --quiet
npx svelte-check --workspace web-local --no-tsconfig --ignore "src/routes/dev"

- 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

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and Test web code
name: End-to-end tests of web+runtime
on:
pull_request:
paths:
Expand Down Expand Up @@ -70,38 +70,6 @@ jobs:
- name: Install browser for UI tests
run: npx playwright install

- name: Prettier checks and lint for web common
if: steps.filter.outputs.common == 'true'
run: |-
npx prettier --check "web-common/**/*"
npx eslint web-common --quiet
npx svelte-check --threshold error --workspace web-common --no-tsconfig --ignore "src/components/data-graphic,src/features/dashboards/time-series,src/features/dashboards/time-controls/TimeRangeSelector.svelte,src/features/dashboards/time-controls/TimeControls.svelte"

- name: Prettier checks and lint for web local
if: steps.filter.outputs.local == 'true'
run: |-
npx prettier --check "web-local/**/*"
npx eslint web-local --quiet
npx svelte-check --workspace web-local --no-tsconfig --ignore "src/routes/dev"

- name: Prettier checks and lint for web admin
if: steps.filter.outputs.admin == 'true'
run: |-
npx prettier --check "web-admin/**/*"
npx eslint web-admin --quiet
npx svelte-check --workspace web-admin --no-tsconfig

- name: Prettier checks and lint for web auth
if: steps.filter.outputs.auth == 'true'
run: |-
npx prettier --check "web-auth/**/*"
npx eslint web-auth --quiet
npx svelte-check --workspace web-auth --no-tsconfig

- name: Test web common
if: steps.filter.outputs.common == 'true'
run: npm run test -w web-common

- name: Test web local
if: ${{ steps.filter.outputs.local == 'true' || steps.filter.outputs.common == 'true' }}
run: npm run test -w web-local
Expand All @@ -118,7 +86,3 @@ jobs:
run: |-
npm run build -w web-admin
npm run test -w web-admin

- name: Build & Test storybook
run: |-
npm run storybook:smoketest -w web-common
53 changes: 53 additions & 0 deletions .github/workflows/web-test-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Unit tests for web code
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@v3

- name: Filter modified codepaths
uses: dorny/paths-filter@v2
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@v3
with:
node-version: 18

- name: NPM Install
run: npm install

- name: Run web-common unit tests
if: steps.filter.outputs.common == 'true'
run: npm run test -w web-common

- name: Run web-auth unit tests
if: steps.filter.outputs.auth == 'true'
run: npm run test -w web-auth

- name: Run storybook smoke tests
run: |-
npm run storybook:smoketest -w web-common