feat(schema-registry): Schema metadata UI improvements #4327
Workflow file for this run
This file contains hidden or 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: "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 |