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
46 changes: 1 addition & 45 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -253,45 +253,6 @@ jobs:
path: examples/chat/angular/e2e/test-results/
retention-days: 7

examples-chat-protocol-e2e:
name: examples/chat — protocol e2e
needs: ci-scope
if: github.event_name == 'push' || needs.ci-scope.outputs.examples_chat == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: actions/setup-node@v6.3.0
with:
node-version: 22
cache: npm
- name: Install uv
uses: astral-sh/setup-uv@v8.0.0
with:
python-version: '3.12'
- run: npm ci
- working-directory: examples/chat/python
run: uv sync
- name: Start LangGraph dev server
working-directory: examples/chat/python
run: uv run langgraph dev --no-browser &
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
LANGSMITH_API_KEY: ${{ secrets.LANGSMITH_API_KEY }}
LANGSMITH_TRACING: 'true'
LANGSMITH_PROJECT: examples-chat-protocol-e2e-ci
- name: Wait for server to be ready
run: |
echo "Waiting for LangGraph server..."
for i in {1..30}; do
curl -sf http://localhost:2024/ok && echo "Server ready" && break
echo "Attempt $i/30..."
sleep 2
done
curl -sf http://localhost:2024/ok || (echo "Server failed to start after 60s" && exit 1)
- run: npx nx e2e examples-chat-protocol-e2e --skip-nx-cache
env:
LANGGRAPH_URL: http://localhost:2024

cockpit-e2e:
name: Cockpit — e2e
needs: ci-scope
Expand Down Expand Up @@ -374,7 +335,6 @@ jobs:
cockpit-deploy-smoke,
examples-chat-smoke,
examples-chat-e2e,
examples-chat-protocol-e2e,
cockpit-e2e,
website-e2e,
]
Expand Down Expand Up @@ -544,7 +504,7 @@ jobs:

demo-deploy:
name: Canonical demo → Vercel
needs: [examples-chat-smoke, examples-chat-e2e, examples-chat-protocol-e2e]
needs: [examples-chat-smoke, examples-chat-e2e]
runs-on: ubuntu-latest
if: ${{ always() && !cancelled() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
steps:
Expand All @@ -558,10 +518,6 @@ jobs:
echo "::error::examples/chat — e2e finished with ${{ needs.examples-chat-e2e.result }}; refusing to deploy the canonical demo."
exit 1
fi
if [ "${{ needs.examples-chat-protocol-e2e.result }}" != "success" ]; then
echo "::error::examples/chat — protocol e2e finished with ${{ needs.examples-chat-protocol-e2e.result }}; refusing to deploy the canonical demo."
exit 1
fi
- uses: actions/checkout@v6.0.2
- uses: actions/setup-node@v6.3.0
with:
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ This file is for agents working in this repository. It is contributor-facing, no

- `libs/langgraph`: main Angular library (`@ngaf/langgraph`).
- `apps/website`: docs and marketing site.
- `examples/chat/e2e`: protocol end-to-end coverage for the canonical chat example.
- `examples/chat/angular/e2e`: browser end-to-end coverage for the canonical chat example.

## Working in This Repo

Expand Down
14 changes: 0 additions & 14 deletions examples/chat/e2e/project.json

This file was deleted.

Empty file removed examples/chat/e2e/src/.gitkeep
Empty file.
157 changes: 0 additions & 157 deletions examples/chat/e2e/src/protocol.e2e.spec.ts

This file was deleted.

7 changes: 0 additions & 7 deletions examples/chat/e2e/tsconfig.json

This file was deleted.

16 changes: 0 additions & 16 deletions examples/chat/e2e/vite.config.mts

This file was deleted.

1 change: 0 additions & 1 deletion scripts/ci-scope.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,6 @@ function applyFallbackPathScope(scope, changedFile) {
function isGlobalCiFile(changedFile) {
return (
changedFile === '.github/workflows/ci.yml' ||
changedFile === '.github/workflows/e2e.yml' ||
changedFile === 'package.json' ||
changedFile === 'package-lock.json' ||
changedFile === 'nx.json' ||
Expand Down
20 changes: 0 additions & 20 deletions scripts/ci-scope.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,6 @@ const projects = [
tags: [],
targets: { build: {} },
},
{
name: 'examples-chat-protocol-e2e',
root: 'examples/chat/e2e',
sourceRoot: 'examples/chat/e2e/src',
projectType: 'application',
tags: [],
targets: { e2e: {} },
},
];

const workspace = {
Expand Down Expand Up @@ -122,18 +114,6 @@ test('global CI config changes keep full PR coverage', () => {
assert.deepEqual(Object.values(scope), Object.values(scope).map(() => true));
});

test('standalone E2E workflow changes keep full PR coverage', () => {
const scope = classifyChangedFiles(['.github/workflows/e2e.yml'], workspace);

assert.deepEqual(Object.values(scope), Object.values(scope).map(() => true));
});

test('examples chat protocol e2e changes drive examples chat scope', () => {
const scope = classifyChangedFiles(['examples/chat/e2e/src/protocol.e2e.spec.ts'], workspace);

assert.equal(scope.examples_chat, true);
});

test('unowned docs changes do not trigger heavy CI jobs', () => {
const scope = classifyChangedFiles(['docs/notes.md'], workspace);

Expand Down
23 changes: 0 additions & 23 deletions scripts/ci-workflow.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,6 @@ describe('CI workflow', () => {
);
}

async function readDemoDeployJob() {
const workflow = await readWorkflow();
return workflow.slice(
workflow.indexOf(' demo-deploy:'),
workflow.indexOf(' production-smoke:')
);
}

async function readProductionSmokeJob() {
const workflow = await readWorkflow();
return workflow.slice(
Expand Down Expand Up @@ -70,19 +62,4 @@ describe('CI workflow', () => {
);
});

it('runs examples chat protocol e2e before deploying the canonical demo', async () => {
const workflow = await readWorkflow();
const demoDeployJob = await readDemoDeployJob();

assert.match(workflow, /examples-chat-protocol-e2e:/);
assert.match(workflow, /npx nx e2e examples-chat-protocol-e2e --skip-nx-cache/);
assert.match(
demoDeployJob,
/needs:\s*\[examples-chat-smoke,\s*examples-chat-e2e,\s*examples-chat-protocol-e2e\]/
);
assert.match(
demoDeployJob,
/examples\/chat — protocol e2e finished with \$\{\{ needs\.examples-chat-protocol-e2e\.result \}\}/
);
});
});
3 changes: 0 additions & 3 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,6 @@
{
"path": "./libs/telemetry"
},
{
"path": "./examples/chat/e2e"
},
{
"path": "./tools/posthog"
},
Expand Down
Loading