From 4195ce7c74f159f717dcb93b3ce35ba6c0aee7be Mon Sep 17 00:00:00 2001 From: Danny Kim Date: Sat, 17 Oct 2026 23:15:39 +0900 Subject: [PATCH] Stop installing Deno in the action --- .agents/memory/bot-agents-migration-decisions.md | 6 +----- AGENTS.md | 5 ++--- action.yml | 5 ++--- tests/workflow.test.ts | 5 +++++ 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.agents/memory/bot-agents-migration-decisions.md b/.agents/memory/bot-agents-migration-decisions.md index bf0a49b..fc74f70 100644 --- a/.agents/memory/bot-agents-migration-decisions.md +++ b/.agents/memory/bot-agents-migration-decisions.md @@ -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 eslint-plugin-* packages needed +description: bot-agents migration decisions: live @main action for six repos, JSON profiles, Node 24.2+, no eslint-plugin-* packages needed --- 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`. There is no `engines` (user decision 2026-10-18): the `node:24-bookworm` job image decides the version ([[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 `eslint-plugin-*` packages** (`eslint-plugin-explicit-types`, `eslint-plugin-import-structure`, `eslint-plugin-lit-robust`; unscoped since 2026-10-18, formerly `@cunarist/...`). The Deno setup enabled no diff --git a/AGENTS.md b/AGENTS.md index 30931ef..4b08021 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -48,6 +48,5 @@ list live in `scripts/project-lint.ts`. Lint disable comments are not allowed; fix the source instead. The composite action uses npm only to install the externally distributed -Claude Code, Codex, and OpenCode command-line tools, plus Deno for agents that -check Deno-based repositories; do not treat those vendor executables as -repository TypeScript dependencies. +Claude Code, Codex, and OpenCode command-line tools; do not treat those +vendor executables as repository TypeScript dependencies. diff --git a/action.yml b/action.yml index 92fc054..437d00c 100644 --- a/action.yml +++ b/action.yml @@ -16,11 +16,10 @@ runs: fetch-depth: 0 token: ${{ gitea.token }} # This step assumes this is `node:24-bookworm` container. The action runs - # its TypeScript on that Node directly; Deno stays for the agents, which - # still check Deno-based repositories with it. + # its TypeScript on that Node directly. - name: Install dependencies 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 # copy so an agent changing this repository cannot replace a later phase. - name: Protect action source diff --git a/tests/workflow.test.ts b/tests/workflow.test.ts index ae3cb6a..da4625d 100644 --- a/tests/workflow.test.ts +++ b/tests/workflow.test.ts @@ -162,6 +162,11 @@ test("installs the OpenCode CLI", async () => { 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 () => { const runner = await readFile("src/run.ts", "utf8"); assert(runner.includes("await prepareProfile(profile);"));