Skip to content

release: v5.0.0 — Agent OS cutover (V5-1…V5-8 + migration) #208

release: v5.0.0 — Agent OS cutover (V5-1…V5-8 + migration)

release: v5.0.0 — Agent OS cutover (V5-1…V5-8 + migration) #208

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- name: Verify @inquirer/* dynamic imports resolve (all adapters depend on these, not all exercised under -y)
run: |
node -e "import('@inquirer/prompts').then(()=>console.log('@inquirer/prompts OK'))"
node -e "import('@inquirer/core').then(()=>console.log('@inquirer/core OK'))"
node -e "import('@inquirer/ansi').then(()=>console.log('@inquirer/ansi OK'))"
- run: npm test
- run: npm run verify:skills
- run: npm run packs:check
- run: npm run packs:vendor:sync -- --check
- run: node skills/analyzing-changes/scripts/change_analyzer.js --mode staged || node skills/analyzing-changes/scripts/change_analyzer.js --mode working
- run: node skills/verifying-modules/scripts/module_scanner.js .
- run: node skills/checking-code-quality/scripts/quality_checker.js .
- run: node skills/analyzing-security/scripts/security_scanner.js . --exclude creating-presentations processing-docx analyzing-spreadsheets processing-pdfs site
smoke-claude:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 20
- run: npm ci
- name: Pack npm tarball
shell: bash
run: npm pack
- name: Smoke install/uninstall Claude target
shell: bash
run: |
set -euo pipefail
pkg_tgz="$(ls code-abyss-*.tgz | head -n 1)"
abyss_home="$RUNNER_TEMP/abyss-home"
rm -rf "$abyss_home"
mkdir -p "$abyss_home"
export HOME="$abyss_home"
export USERPROFILE="$abyss_home"
npx --yes --package "./$pkg_tgz" code-abyss --target claude -y
test -f "$abyss_home/.claude/CLAUDE.md"
test -d "$abyss_home/.claude/skills"
test ! -e "$abyss_home/.claude/skills/gstack"
test -d "$abyss_home/.claude/commands"
test -f "$abyss_home/.claude/commands/cultivating-skills.md"
test -f "$abyss_home/.claude/commands/cultivating-personas.md"
test ! -e "$abyss_home/.claude/commands/gen-docs.md"
test ! -e "$abyss_home/.claude/commands/review.md"
test -f "$abyss_home/.claude/settings.json"
test -f "$abyss_home/.claude/.code-abyss-uninstall.js"
# V5.3: character Stop-hook default-on
grep -q '_kernel/character/hooks' "$abyss_home/.claude/settings.json"
grep -q 'check_banned_openers.py' "$abyss_home/.claude/settings.json"
# V5.4: inject plane judgment map
test -f "$abyss_home/.claude/.code-abyss-inject.md"
grep -q 'skills/_kernel/security' "$abyss_home/.claude/.code-abyss-inject.md"
grep -q 'code-abyss-inject-plane' "$abyss_home/.claude/.code-abyss-inject.md"
npx --yes --package "./$pkg_tgz" code-abyss --uninstall claude
test ! -e "$abyss_home/.claude/CLAUDE.md"
test ! -e "$abyss_home/.claude/skills"
test ! -e "$abyss_home/.claude/.code-abyss-backup"
smoke-codex:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 20
- run: npm ci
- name: Pack npm tarball
shell: bash
run: npm pack
- name: Smoke install/uninstall Codex target
shell: bash
run: |
set -euo pipefail
pkg_tgz="$(ls code-abyss-*.tgz | head -n 1)"
abyss_home="$RUNNER_TEMP/abyss-home"
rm -rf "$abyss_home"
mkdir -p "$abyss_home"
export HOME="$abyss_home"
export USERPROFILE="$abyss_home"
npx --yes --package "./$pkg_tgz" code-abyss --target codex -y
test -f "$abyss_home/.codex/instruction.md"
test ! -e "$abyss_home/.codex/AGENTS.md"
test -d "$abyss_home/.codex/skills"
test -d "$abyss_home/.codex/bin/lib"
test ! -e "$abyss_home/.agents/skills/gstack"
test -f "$abyss_home/.codex/config.toml"
test ! -e "$abyss_home/.codex/settings.json"
test -f "$abyss_home/.codex/.code-abyss-uninstall.js"
npx --yes --package "./$pkg_tgz" code-abyss --uninstall codex
test ! -e "$abyss_home/.codex/instruction.md"
test ! -e "$abyss_home/.codex/AGENTS.md"
test ! -e "$abyss_home/.agents/skills"
test ! -e "$abyss_home/.codex/.code-abyss-backup"
smoke-gemini:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 20
- run: npm ci
- name: Pack npm tarball
shell: bash
run: npm pack
- name: Smoke install/uninstall Gemini target
shell: bash
run: |
set -euo pipefail
pkg_tgz="$(ls code-abyss-*.tgz | head -n 1)"
abyss_home="$RUNNER_TEMP/abyss-home"
rm -rf "$abyss_home"
mkdir -p "$abyss_home"
export HOME="$abyss_home"
export USERPROFILE="$abyss_home"
npx --yes --package "./$pkg_tgz" code-abyss --target gemini -y
test -f "$abyss_home/.gemini/GEMINI.md"
test -d "$abyss_home/.gemini/skills"
test -d "$abyss_home/.gemini/commands"
test -f "$abyss_home/.gemini/commands/cultivating-skills.toml"
test -f "$abyss_home/.gemini/commands/cultivating-personas.toml"
test ! -e "$abyss_home/.gemini/commands/gen-docs.toml"
test ! -e "$abyss_home/.gemini/commands/review.toml"
test ! -e "$abyss_home/.gemini/skills/gstack"
test -f "$abyss_home/.gemini/settings.json"
test -f "$abyss_home/.gemini/.code-abyss-uninstall.js"
npx --yes --package "./$pkg_tgz" code-abyss --uninstall gemini
test ! -e "$abyss_home/.gemini/GEMINI.md"
test ! -e "$abyss_home/.gemini/skills"
test ! -e "$abyss_home/.gemini/.code-abyss-backup"
smoke-openclaw:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 20
- run: npm ci
- name: Pack npm tarball
shell: bash
run: npm pack
- name: Smoke install/uninstall OpenClaw target
shell: bash
run: |
set -euo pipefail
pkg_tgz="$(ls code-abyss-*.tgz | head -n 1)"
abyss_home="$RUNNER_TEMP/abyss-home"
rm -rf "$abyss_home"
mkdir -p "$abyss_home"
export HOME="$abyss_home"
export USERPROFILE="$abyss_home"
npx --yes --package "./$pkg_tgz" code-abyss --target openclaw -y
test -d "$abyss_home/.openclaw/skills"
test -f "$abyss_home/.openclaw/workspace/AGENTS.md"
test -f "$abyss_home/.openclaw/workspace/SOUL.md"
test -f "$abyss_home/.openclaw/.code-abyss-uninstall.js"
test ! -e "$abyss_home/.openclaw/commands"
test ! -e "$abyss_home/.openclaw/skills/gstack"
npx --yes --package "./$pkg_tgz" code-abyss --uninstall openclaw
test ! -e "$abyss_home/.openclaw/skills"
test ! -e "$abyss_home/.openclaw/.code-abyss-backup"