Skip to content
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
22 changes: 20 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,20 @@ jobs:
- name: Run mypy (type checking)
run: uv run mypy codeframe/

# Note: Frontend linting disabled - web-ui is legacy during v2 CLI-first refactor
# Re-enable when web-ui package.json is restored
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: 'web-ui/package-lock.json'

- name: Install frontend dependencies
working-directory: web-ui
run: npm ci

- name: Run frontend lint (eslint)
working-directory: web-ui
run: npm run lint

# ============================================
# Static Analysis - Check for Hardcoded URLs
Expand Down Expand Up @@ -265,6 +277,12 @@ jobs:
working-directory: web-ui
run: npm ci

- name: Build (fail PR on TypeScript/build break)
working-directory: web-ui
env:
NEXT_TELEMETRY_DISABLED: 1
run: npm run build

- name: Run Jest tests with coverage
working-directory: web-ui
run: npm run test:coverage
Expand Down
2 changes: 0 additions & 2 deletions web-ui/__tests__/app/proof/req_id/page.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ const waivedReq = {
},
};

const mockEvidenceResponse = [];

describe('ProofDetailPage', () => {
beforeEach(() => {
jest.clearAllMocks();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { render, screen, fireEvent } from '@testing-library/react';
import useSWR from 'swr';
import ProofDetailPage from '@/app/proof/[req_id]/page';
import * as storage from '@/lib/workspace-storage';
import type { ProofEvidence, ProofRequirement, ProofEvidenceSortCol, SortDir } from '@/types';
import type { ProofEvidence, ProofRequirement } from '@/types';

// ── Mocks ────────────────────────────────────────────────────────────────

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import React from 'react';
import { render, screen, fireEvent, waitFor, within } from '@testing-library/react';
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import useSWR from 'swr';

import { GitHubIssueImportModal } from '@/components/tasks/GitHubIssueImportModal';
import { integrationsApi } from '@/lib/api';
import type { GitHubIssue, GitHubIssuesResponse } from '@/types';

jest.mock('swr');
Expand Down
1 change: 0 additions & 1 deletion web-ui/src/components/proof/CaptureGlitchModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { useState, useEffect } from 'react';
import { Cancel01Icon } from '@hugeicons/react';
import * as DialogPrimitive from '@radix-ui/react-dialog';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Textarea } from '@/components/ui/textarea';
import { Checkbox } from '@/components/ui/checkbox';
import {
Expand Down
Loading