Skip to content

feat(content-switcher): add ref prop for tablist reference #2251

feat(content-switcher): add ref prop for tablist reference

feat(content-switcher): add ref prop for tablist reference #2251

Workflow file for this run

on:
pull_request:
paths-ignore:
- "**.md"
- "docs/**"
- "examples/**"
push:
branches: [master]
paths-ignore:
- "**.md"
- "docs/**"
- "examples/**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
env:
IBM_TELEMETRY_DISABLED: true
jobs:
lint:
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun ci
- run: bunx biome ci --error-on-warnings
changes:
runs-on: macos-15
outputs:
src-or-tests: ${{ steps.filter.outputs.src-or-tests }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
src-or-tests:
- 'src/**'
- 'tests/**'
- '.github/**'
test:
needs: [lint, changes]
if: needs.changes.outputs.src-or-tests == 'true'
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun ci
- name: Generate types
run: bun run build:docs
- name: Test types (Svelte 5)
run: bun run test:types
- name: Test (Svelte 5)
run: bun --bun run test
test-e2e:
needs: [lint, test]
if: ${{ !failure() && !cancelled() }}
runs-on: ubuntu-latest
# Official image includes Chromium/Firefox/WebKit + system deps
# Bump tag with @playwright/test in bun.lock.
container:
image: mcr.microsoft.com/playwright:v1.59.0-noble
options: --ipc=host --init
timeout-minutes: 15
env:
PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
HOME: /root
steps:
- uses: actions/checkout@v6
# Playwright image is minimal; setup-bun extracts a zip and needs unzip.
- run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y unzip
- uses: oven-sh/setup-bun@v2
- run: bun ci
- name: E2E tests
run: bunx playwright test --project=chromium
test-svelte3:
needs: [lint, changes]
if: needs.changes.outputs.src-or-tests == 'true'
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun ci
- name: Setup Svelte 3
run: |
cd tests-svelte3
bun ci
- name: Generate types
run: bun run build:docs
- name: Test Svelte 3 Types
run: |
cd tests-svelte3
bun run test:types
- name: Test Svelte 3
run: |
cd tests-svelte3
bun --bun run test
test-svelte4:
needs: [lint, changes]
if: needs.changes.outputs.src-or-tests == 'true'
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun ci
- name: Setup Svelte 4 compat
run: |
cd tests-svelte4
bun ci
- name: Generate types
run: bun run build:docs
- name: Test types (Svelte 4 compat)
run: |
cd tests-svelte4
bun run test:types
- name: Test (Svelte 4 compat)
run: |
cd tests-svelte4
bun --bun run test
types:
runs-on: macos-15
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- run: bun ci
- name: Build docs
run: bun run build:docs
- run: bun run test:src-types
deploy-docs:
needs: [lint, test, types]
if: |
always() &&
(github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/master') &&
!failure() && !cancelled()
uses: ./.github/workflows/deploy-docs.yml
secrets: inherit