mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-15 13:58:20 +00:00
91 lines
3.2 KiB
YAML
91 lines
3.2 KiB
YAML
name: UI Primitives
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- "registry/components/**"
|
|
- "registry/ui-primitives/**"
|
|
- "packages/core/src/registry/uiPrimitives*.ts"
|
|
- "packages/core/src/registry/remocnUiPrimitivesCatalog.test.ts"
|
|
- "packages/producer/tests/ui-primitives/**"
|
|
- "packages/producer/package.json"
|
|
- "bun.lock"
|
|
- "scripts/sync-ui-primitives.ts"
|
|
- "scripts/generate-catalog-previews.ts"
|
|
- "scripts/lib/ui-primitives/**"
|
|
- ".github/workflows/ui-primitives.yml"
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "registry/components/**"
|
|
- "registry/ui-primitives/**"
|
|
- "packages/core/src/registry/uiPrimitives*.ts"
|
|
- "packages/core/src/registry/remocnUiPrimitivesCatalog.test.ts"
|
|
- "packages/producer/tests/ui-primitives/**"
|
|
- "packages/producer/package.json"
|
|
- "bun.lock"
|
|
- "scripts/sync-ui-primitives.ts"
|
|
- "scripts/generate-catalog-previews.ts"
|
|
- "scripts/lib/ui-primitives/**"
|
|
- ".github/workflows/ui-primitives.yml"
|
|
|
|
concurrency:
|
|
group: ui-primitives-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
frozen-contract:
|
|
name: Frozen scope and contract
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 10
|
|
env:
|
|
HF_UI_REQUIRE_FROZEN_BASELINE: "1"
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
|
|
with:
|
|
bun-version: 1.3.14
|
|
- run: bun install --frozen-lockfile
|
|
- name: Verify frozen UI primitive contracts
|
|
run: >-
|
|
bun test
|
|
packages/core/src/registry/uiPrimitivesScope.test.ts
|
|
packages/core/src/registry/uiPrimitivesContract.test.ts
|
|
packages/core/src/registry/remocnUiPrimitivesCatalog.test.ts
|
|
packages/core/src/registry/uiPrimitivesSync.test.ts
|
|
packages/core/src/registry/uiPrimitivesStyleAudit.test.ts
|
|
packages/core/src/registry/uiPrimitivesPreview.test.ts
|
|
- name: Verify synchronized UI primitive sources
|
|
run: bunx tsx scripts/sync-ui-primitives.ts --check
|
|
|
|
browser-verification:
|
|
name: Pinned semantic and frame verification
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 30
|
|
container:
|
|
image: ghcr.io/puppeteer/puppeteer:25.3.0@sha256:9665f5b57abc5cc7080a641878964018de219055a4d2c9d8d050ceb1161778ba
|
|
options: --init --cap-add=SYS_ADMIN
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
env:
|
|
HF_UI_REQUIRE_LOCKED_ENV: "1"
|
|
HF_UI_CONTAINER_IMAGE: ghcr.io/puppeteer/puppeteer:25.3.0
|
|
HF_UI_CONTAINER_DIGEST: sha256:9665f5b57abc5cc7080a641878964018de219055a4d2c9d8d050ceb1161778ba
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
|
|
with:
|
|
bun-version: 1.3.14
|
|
- run: bun install --frozen-lockfile --ignore-scripts
|
|
- name: Verify UI primitive runner policy
|
|
run: bun test --max-concurrency 1 packages/producer/tests/ui-primitives/*.test.ts
|
|
- name: Verify all Operator Black primitives
|
|
run: bun run --cwd packages/producer verify:ui-primitives
|