Skip to content

feat(schema-registry): Schema metadata UI improvements #4327

feat(schema-registry): Schema metadata UI improvements

feat(schema-registry): Schema metadata UI improvements #4327

Workflow file for this run

---
name: "Frontend Lint & Compile check"
on:
push:
branches:
- master
paths:
- "frontend/**"
- ".github/workflows/frontend-verify.yml"
pull_request:
paths:
- "frontend/**"
- ".github/workflows/frontend-verify.yml"
env:
CI: true
jobs:
lint:
timeout-minutes: 3
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Get Biome version
id: biome-version
run: echo "version=$(jq -r '.devDependencies["@biomejs/biome"]' package.json)" >> $GITHUB_OUTPUT
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: ${{ steps.biome-version.outputs.version }}
- name: Check Ultracite setup
run: bun x ultracite doctor
- name: Run Biome/Ultracite
run: bun run lint:check
type-check:
timeout-minutes: 3
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run typecheck
run: bun run type:check
build:
timeout-minutes: 5
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run build frontend
run: |
REACT_APP_CONSOLE_GIT_SHA=$(echo $GITHUB_SHA | cut -c 1-6)
REACT_APP_CONSOLE_GIT_REF=$GITHUB_REF_NAME
REACT_APP_BUILD_TIMESTAMP=$(date +%s)
REACT_APP_DEV_HINT=true
bun run build
test-unit:
timeout-minutes: 3
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run unit tests
run: bun run test:unit
- uses: actions/upload-artifact@v4
if: failure()
with:
name: unit-test-results
path: frontend/test-results
retention-days: 2
test-integration:
timeout-minutes: 5
runs-on: ubuntu-latest-8
strategy:
fail-fast: false
matrix:
shard: [1/2, 2/2]
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run integration tests
run: bun run test:integration -- --shard=${{ matrix.shard }}
- uses: actions/upload-artifact@v4
if: failure()
with:
name: integration-test-results-${{ matrix.shard }}
path: frontend/test-results
retention-days: 2
e2e-test:
needs: ["lint", "type-check", "build"]
timeout-minutes: 30
runs-on: ubuntu-latest-8
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build frontend
run: |
REACT_APP_CONSOLE_GIT_SHA=$(echo $GITHUB_SHA | cut -c 1-6)
REACT_APP_CONSOLE_GIT_REF=$GITHUB_REF_NAME
REACT_APP_BUILD_TIMESTAMP=$(date +%s)
REACT_APP_DEV_HINT=true
bun run build
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: 'backend/go.mod'
cache-dependency-path: backend/go.sum
- name: Install Playwright browsers
run: bun run install:chromium
- name: Run Playwright tests
run: bun run e2e-test
- name: Upload Playwright report artifact
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: playwright-report
path: frontend/playwright-report/
retention-days: 2