Skip to content
Open
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
15 changes: 11 additions & 4 deletions .github/workflows/pr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
persist-credentials: false

- name: Detect changed paths
id: filter
Expand Down Expand Up @@ -105,6 +107,7 @@ jobs:
uses: actions/checkout@v5
with:
fetch-depth: 1
persist-credentials: false

- name: Cache pnpm store
id: pnpm-cache
Expand Down Expand Up @@ -153,6 +156,7 @@ jobs:
uses: actions/checkout@v5
with:
fetch-depth: 1
persist-credentials: false

- name: Cache pnpm store
id: pnpm-cache
Expand Down Expand Up @@ -218,7 +222,7 @@ jobs:
if: needs.changes.outputs.playwright == 'true'
runs-on: ubuntu-22.04
container:
image: ghcr.io/tinyhumansai/openhuman_ci:latest
image: ghcr.io/tinyhumansai/openhuman_ci:rust-1.93.0
timeout-minutes: 30
env:
CARGO_INCREMENTAL: "0"
Expand Down Expand Up @@ -324,6 +328,7 @@ jobs:
uses: actions/checkout@v5
with:
fetch-depth: 1
persist-credentials: false

- name: Cache pnpm store
id: pnpm-cache
Expand Down Expand Up @@ -526,7 +531,7 @@ jobs:
if: always() && needs.changes.outputs['rust-core'] == 'true' && needs['rust-quality'].result == 'success'
runs-on: ubuntu-22.04
container:
image: ghcr.io/tinyhumansai/openhuman_ci:latest
image: ghcr.io/tinyhumansai/openhuman_ci:rust-1.93.0
timeout-minutes: 30
env:
CARGO_INCREMENTAL: "0"
Expand Down Expand Up @@ -589,7 +594,8 @@ jobs:

playwright-e2e:
name: E2E (Playwright / web lane ${{ matrix.shard }}/4)
needs: [changes, frontend-quality, rust-quality, build-playwright-e2e-artifact]
needs:
[changes, frontend-quality, rust-quality, build-playwright-e2e-artifact]
if: |
always() &&
needs.changes.outputs.playwright == 'true' &&
Expand All @@ -598,7 +604,7 @@ jobs:
contains(fromJSON('["success", "skipped"]'), needs['rust-quality'].result)
runs-on: ubuntu-22.04
container:
image: ghcr.io/tinyhumansai/openhuman_ci:latest
image: ghcr.io/tinyhumansai/openhuman_ci:rust-1.93.0
timeout-minutes: 30
# Sharded 4 ways: each shard is a separate runner that boots its OWN backend
# stack (mock + core + web on fixed ports) and runs playwright --shard=i/4.
Expand Down Expand Up @@ -742,6 +748,7 @@ jobs:
uses: actions/checkout@v5
with:
fetch-depth: 0
persist-credentials: false

- name: Resolve coverage compare ref
if: needs.changes.outputs.coverage == 'true'
Expand Down
4 changes: 3 additions & 1 deletion app/test/playwright/specs/harness-composio-tool-flow.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,9 @@ test.describe('Harness - Composio tool-call prompt flow', () => {

await sendMessage(page, 'check my email inbox please');
await expect(page.getByText(CANARY).first()).toBeVisible({ timeout: 60_000 });
await expect(page.getByText(/unable to fetch your emails/i)).toBeVisible();
await expect(
page.getByTestId('agent-message-text').filter({ hasText: /unable to fetch your emails/i })
).toBeVisible();
});

test('linear create issue flow confirms creation in the final reply', async ({ page }) => {
Expand Down
6 changes: 5 additions & 1 deletion app/test/playwright/specs/harness-cron-prompt-flow.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,11 @@ test.describe('Harness - Cron prompt-flow', () => {

await sendMessage(page, 'change my morning reminder to 8am');
await expect(page.getByText(CANARY).first()).toBeVisible({ timeout: 60_000 });
await expect(page.getByText(/changed your morning reminder to 8am/i)).toBeVisible();
await expect(
page
.getByTestId('agent-message-text')
.filter({ hasText: /changed your morning reminder to 8am/i })
).toBeVisible();
});

test('delete flow yields a final reply', async ({ page }) => {
Expand Down