Stop installing Deno in the action
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
description: bot-agents migration decisions: live @main action for six repos, JSON profiles, Node 24.2+, Deno kept only for agents, no @cunarist plugins needed
|
description: bot-agents migration decisions: live @main action for six repos, JSON profiles, Node 24.2+, no @cunarist plugins needed
|
||||||
---
|
---
|
||||||
|
|
||||||
Decisions for `commons/bot-agents` (Capsulizers Gitea), from the Deno to
|
Decisions for `commons/bot-agents` (Capsulizers Gitea), from the Deno to
|
||||||
@@ -18,10 +18,6 @@ Node + Vite+ migration (PR #20, `node-migration`, 2026-10-15/16):
|
|||||||
- **Node 24.2+**, not 22: `src/post.ts` uses `import.meta.main`. `engines.node`
|
- **Node 24.2+**, not 22: `src/post.ts` uses `import.meta.main`. `engines.node`
|
||||||
is `>=24.2`, which the user accepted for this repo
|
is `>=24.2`, which the user accepted for this repo
|
||||||
([[bot-agents-runtime-no-build]]).
|
([[bot-agents-runtime-no-build]]).
|
||||||
- **Deno stays in the action's global npm install** (`action.yml`), only
|
|
||||||
because the agents still check Deno-based consumer repos (memona,
|
|
||||||
memona-home). Remove it once those repos have moved; it is not a
|
|
||||||
dependency of this repo's TypeScript.
|
|
||||||
- **No `@cunarist/eslint-plugin-*`.** The Deno setup enabled no plugin, so
|
- **No `@cunarist/eslint-plugin-*`.** The Deno setup enabled no plugin, so
|
||||||
this repo depends on none and CI passes without them being published.
|
this repo depends on none and CI passes without them being published.
|
||||||
Planned (2026-10-17): once the plugins are on npm, add
|
Planned (2026-10-17): once the plugins are on npm, add
|
||||||
|
|||||||
@@ -46,6 +46,5 @@ list live in `scripts/project-lint.ts`. Lint disable comments are not allowed;
|
|||||||
fix the source instead.
|
fix the source instead.
|
||||||
|
|
||||||
The composite action uses npm only to install the externally distributed
|
The composite action uses npm only to install the externally distributed
|
||||||
Claude Code, Codex, and OpenCode command-line tools, plus Deno for agents that
|
Claude Code, Codex, and OpenCode command-line tools; do not treat those
|
||||||
check Deno-based repositories; do not treat those vendor executables as
|
vendor executables as repository TypeScript dependencies.
|
||||||
repository TypeScript dependencies.
|
|
||||||
|
|||||||
+2
-3
@@ -16,11 +16,10 @@ runs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
token: ${{ gitea.token }}
|
token: ${{ gitea.token }}
|
||||||
# This step assumes this is `node:24-bookworm` container. The action runs
|
# This step assumes this is `node:24-bookworm` container. The action runs
|
||||||
# its TypeScript on that Node directly; Deno stays for the agents, which
|
# its TypeScript on that Node directly.
|
||||||
# still check Deno-based repositories with it.
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
run: npm install -g @openai/codex @anthropic-ai/claude-code opencode-ai deno
|
run: npm install -g @openai/codex @anthropic-ai/claude-code opencode-ai
|
||||||
# A local action lives inside the writable checkout. Execute a root-owned
|
# A local action lives inside the writable checkout. Execute a root-owned
|
||||||
# copy so an agent changing this repository cannot replace a later phase.
|
# copy so an agent changing this repository cannot replace a later phase.
|
||||||
- name: Protect action source
|
- name: Protect action source
|
||||||
|
|||||||
@@ -162,6 +162,11 @@ test("installs the OpenCode CLI", async () => {
|
|||||||
assert(action.includes("opencode-ai"));
|
assert(action.includes("opencode-ai"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("does not install Deno", async () => {
|
||||||
|
const action = await readFile("action.yml", "utf8");
|
||||||
|
expect(action).not.toMatch(/\bdeno\b/iu);
|
||||||
|
});
|
||||||
|
|
||||||
test("profile preparation does not receive provider credentials", async () => {
|
test("profile preparation does not receive provider credentials", async () => {
|
||||||
const runner = await readFile("src/run.ts", "utf8");
|
const runner = await readFile("src/run.ts", "utf8");
|
||||||
assert(runner.includes("await prepareProfile(profile);"));
|
assert(runner.includes("await prepareProfile(profile);"));
|
||||||
|
|||||||
Reference in New Issue
Block a user