Skip to content

Commit 29b6f72

Browse files
authored
ci: exercise the real install contract for ep_ai_core (#35)
Drop the manual ep_ai_core pre-install from both backend-tests and frontend-tests so CI walks the same path a user does (`pnpm run plugins i ep_ai_chat`). ep_ai_core now resolves via "dependencies"; a regression back to peerDependencies fails the frontend job, which runs on same-repo PRs. README install command simplified accordingly. Follow-up to #34 (closed #33).
1 parent 2e15376 commit 29b6f72

3 files changed

Lines changed: 19 additions & 12 deletions

File tree

.github/workflows/backend-tests.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,15 @@ jobs:
5858
name: Install Etherpad core dependencies
5959
working-directory: ./etherpad-lite
6060
run: bin/installDeps.sh
61-
- name: Install peer dep ep_ai_core from registry
62-
working-directory: ./etherpad-lite
63-
run: pnpm run plugins i ep_ai_core
61+
# Deliberately do NOT pre-install ep_ai_core here. It is a hard runtime
62+
# dependency declared in package.json "dependencies", so installing the
63+
# plugin alone must pull it in automatically. Pre-installing it would mask
64+
# a regression if it were ever moved back to peerDependencies (peer deps
65+
# are not auto-installed), which is exactly the bug that closed #33.
6466
- name: Install optional peer dep ep_comments_page from registry
6567
working-directory: ./etherpad-lite
6668
run: pnpm run plugins i ep_comments_page
67-
- name: Install plugin
69+
- name: Install plugin (must resolve ep_ai_core on its own)
6870
working-directory: ./etherpad-lite
6971
run: |
7072
pnpm run plugins i --path ../../plugin

.github/workflows/frontend-tests.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,20 @@ jobs:
4545
name: Install Etherpad core dependencies
4646
working-directory: ./etherpad-lite
4747
run: bin/installDeps.sh
48-
- name: Install peer dep ep_ai_core from registry
49-
working-directory: ./etherpad-lite
50-
run: pnpm run plugins i ep_ai_core
51-
# Intentionally NOT installing ep_comments_page here. The frontend
48+
# Deliberately do NOT pre-install ep_ai_core. It is a hard runtime
49+
# dependency declared in package.json "dependencies", so installing the
50+
# plugin alone must pull it in automatically — and the AI editing specs
51+
# below can only pass if it loads. This is the path a real user walks
52+
# (`pnpm run plugins i ep_ai_chat`). Unlike backend-tests, this job runs
53+
# on same-repo PRs, so it is what actually guards against ep_ai_core
54+
# being moved back to peerDependencies (the bug that closed #33).
55+
#
56+
# Also intentionally NOT installing ep_comments_page here. The frontend
5257
# editing specs expect AI requests to apply edits directly to the
5358
# pad; with ep_comments_page present, the plugin's "auto" default
5459
# routes to suggest mode and the pad text would not change in
5560
# response to those tests.
56-
- name: Install plugin
61+
- name: Install plugin (must resolve ep_ai_core on its own)
5762
working-directory: ./etherpad-lite
5863
run: |
5964
pnpm run plugins i --path ../../plugin

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ edit lands inline with its own author colour and an explanation in chat.](demo.g
99

1010
## Installation
1111

12-
Requires `ep_ai_core`.
13-
1412
```bash
15-
pnpm run plugins i ep_ai_core ep_ai_chat
13+
pnpm run plugins i ep_ai_chat
1614
```
1715

16+
This pulls in `ep_ai_core` automatically — it is a required runtime dependency.
17+
1818
Configure the LLM provider in `settings.json` under the `ep_ai_core` key.
1919
See the [ep_ai_core README](https://github.com/ether/ep_ai_core#readme) for
2020
full configuration details.

0 commit comments

Comments
 (0)