feat: production gaps + real SDK middleware + forex + market data + security hardening #225
ci.yml
on: pull_request
Lint & Typecheck (PWA)
37s
Typecheck (Mobile)
52s
Gateway (Go) Build & Test
1m 45s
Matching Engine (Rust) Build & Test
1m 14s
Ingestion Engine (Python) Tests
14s
Matrix: Backend Checks
Unit Tests (PWA)
37s
E2E Tests (Playwright)
2m 15s
Annotations
17 errors, 6 warnings, and 1 notice
|
Typecheck (Mobile)
Property 'positions' does not exist on type '{}'.
|
|
Typecheck (Mobile)
Type '"refresh-cw"' is not assignable to type 'IconName'. Did you mean '"refresh"'?
|
|
Typecheck (Mobile)
Type '"git-merge"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"plus-circle"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"tag"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"dollar-sign"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"git-branch"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"radio"' is not assignable to type 'IconName'.
|
|
Typecheck (Mobile)
Type '"refresh-cw"' is not assignable to type 'IconName'. Did you mean '"refresh"'?
|
|
Typecheck (Mobile)
Type '{ prefixes: string[]; config: { screens: { MainTabs: { screens: { Dashboard: string; Markets: string; Trade: string; Portfolio: string; Account: string; }; }; TradeDetail: string; Notifications: string; }; }; }' is not assignable to type 'LinkingOptions<{ MainTabs: unknown; TradeDetail: unknown; Notifications: unknown; }>'.
|
|
E2E Tests (Playwright)
Process completed with exit code 1.
|
|
[chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page:
frontend/pwa/e2e/navigation.spec.ts#L36
2) [chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page ───────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Sign in to NEXCOM Exchange')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Sign in to NEXCOM Exchange')
34 | test("navigates to login page", async ({ page }) => {
35 | await page.goto("/login");
> 36 | await expect(page.locator("text=Sign in to NEXCOM Exchange")).toBeVisible();
| ^
37 | });
38 | });
39 |
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:36:67
|
|
[chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page:
frontend/pwa/e2e/navigation.spec.ts#L36
2) [chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page ───────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Sign in to NEXCOM Exchange')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Sign in to NEXCOM Exchange')
34 | test("navigates to login page", async ({ page }) => {
35 | await page.goto("/login");
> 36 | await expect(page.locator("text=Sign in to NEXCOM Exchange")).toBeVisible();
| ^
37 | });
38 | });
39 |
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:36:67
|
|
[chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page:
frontend/pwa/e2e/navigation.spec.ts#L36
2) [chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page ───────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Sign in to NEXCOM Exchange')
Expected: visible
Timeout: 5000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Sign in to NEXCOM Exchange')
34 | test("navigates to login page", async ({ page }) => {
35 | await page.goto("/login");
> 36 | await expect(page.locator("text=Sign in to NEXCOM Exchange")).toBeVisible();
| ^
37 | });
38 | });
39 |
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:36:67
|
|
[chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page:
frontend/pwa/e2e/navigation.spec.ts#L7
1) [chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page ───────────────────
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Dashboard')
Expected: visible
Error: strict mode violation: locator('text=Dashboard') resolved to 2 elements:
1) <span class="relative z-10 hidden lg:block">Dashboard</span> aka getByRole('link', { name: 'Dashboard' })
2) <h1 class="text-2xl font-bold tracking-tight">Dashboard</h1> aka getByRole('heading', { name: 'Dashboard' })
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Dashboard')
5 | await page.goto("/");
6 | await expect(page).toHaveTitle(/NEXCOM Exchange/);
> 7 | await expect(page.locator("text=Dashboard")).toBeVisible();
| ^
8 | });
9 |
10 | test("navigates to trade page", async ({ page }) => {
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:7:50
|
|
[chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page:
frontend/pwa/e2e/navigation.spec.ts#L7
1) [chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page ───────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Dashboard')
Expected: visible
Error: strict mode violation: locator('text=Dashboard') resolved to 2 elements:
1) <span class="relative z-10 hidden lg:block">Dashboard</span> aka getByRole('link', { name: 'Dashboard' })
2) <h1 class="text-2xl font-bold tracking-tight">Dashboard</h1> aka getByRole('heading', { name: 'Dashboard' })
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Dashboard')
5 | await page.goto("/");
6 | await expect(page).toHaveTitle(/NEXCOM Exchange/);
> 7 | await expect(page.locator("text=Dashboard")).toBeVisible();
| ^
8 | });
9 |
10 | test("navigates to trade page", async ({ page }) => {
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:7:50
|
|
[chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page:
frontend/pwa/e2e/navigation.spec.ts#L7
1) [chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page ───────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('text=Dashboard')
Expected: visible
Error: strict mode violation: locator('text=Dashboard') resolved to 2 elements:
1) <span class="relative z-10 hidden lg:block">Dashboard</span> aka getByRole('link', { name: 'Dashboard' })
2) <h1 class="text-2xl font-bold tracking-tight">Dashboard</h1> aka getByRole('heading', { name: 'Dashboard' })
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('text=Dashboard')
5 | await page.goto("/");
6 | await expect(page).toHaveTitle(/NEXCOM Exchange/);
> 7 | await expect(page.locator("text=Dashboard")).toBeVisible();
| ^
8 | });
9 |
10 | test("navigates to trade page", async ({ page }) => {
at /home/runner/work/NGApp/NGApp/frontend/pwa/e2e/navigation.spec.ts:7:50
|
|
Backend Checks (market-data, go, services/market-data)
Restore cache failed: Dependencies file is not found in /home/runner/work/NGApp/NGApp. Supported file pattern: go.sum
|
|
Backend Checks (risk-management, go, services/risk-management)
Restore cache failed: Dependencies file is not found in /home/runner/work/NGApp/NGApp. Supported file pattern: go.sum
|
|
Backend Checks (trading-engine, go, services/trading-engine)
Restore cache failed: Dependencies file is not found in /home/runner/work/NGApp/NGApp. Supported file pattern: go.sum
|
|
Gateway (Go) Build & Test
Restore cache failed: Dependencies file is not found in /home/runner/work/NGApp/NGApp. Supported file pattern: go.sum
|
|
Build (PWA)
No files were found with the provided path: frontend/pwa/.next/. No artifacts will be uploaded.
|
|
E2E Tests (Playwright)
No files were found with the provided path: frontend/pwa/playwright-report/. No artifacts will be uploaded.
|
|
🎭 Playwright Run Summary
2 failed
[chromium] › e2e/navigation.spec.ts:4:7 › Navigation › loads dashboard page ────────────────────
[chromium] › e2e/navigation.spec.ts:34:7 › Navigation › navigates to login page ────────────────
7 passed (1.4m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
coverage-report
Expired
|
555 KB |
sha256:81d6ea1a1fe7404539e51e15e33d08282bab8ca82a7222d9f25c0889a09b3ca2
|
|