Skip to content

test: backend E2E test harness with SPV wallet scenario #30

test: backend E2E test harness with SPV wallet scenario

test: backend E2E test harness with SPV wallet scenario #30

---
name: "Claude (label: claudius-review)"
"on":
pull_request:
types: [labeled, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
review:
if: >
github.event.pull_request.draft == false &&
(
(github.event.action == 'labeled' && github.event.label.name == 'claudius-review') ||
(github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'claudius-review'))
)
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
issues: write
pull-requests: write
id-token: write
env:
CLAUDE_MODEL: ${{ vars.CLAUDE_MODEL || 'opus' }}
steps:
- name: Check for OAuth token
env:
HAS_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN_LKLIMEK != '' }}
run: |
if [ "$HAS_TOKEN" != "true" ]; then
echo "::error::CLAUDE_CODE_OAUTH_TOKEN_LKLIMEK secret not configured. Configure the CLAUDE_CODE_OAUTH_TOKEN_LKLIMEK secret in your repository or organization settings."
exit 1
fi
- name: Checkout repository
uses: actions/checkout@v6
with:
# We can diff so we need history
fetch-depth: 0
- name: Configure git to use HTTPS instead of SSH
run: git config --global url."https://github.com/".insteadOf "git@github.com:"
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
env:
GH_TOKEN: ${{ github.token }}
with:
use_sticky_comment: true
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN_LKLIMEK }}
plugin_marketplaces: "https://github.com/lklimek/agents.git"
plugins: |
claudius@lklimek
claudash@lklimek
show_full_output: true
trigger_phrase: ""
prompt: |
You are reviewing PR #${{ github.event.pull_request.number }} in ${{ github.repository }}.
Base branch: ${{ github.event.pull_request.base.ref }}
Head branch: ${{ github.event.pull_request.head.ref }}
PR title: ${{ github.event.pull_request.title }}
MemCan is NOT available in CI — skip memcan:recall, memcan:lessons-learned, and all mcp__plugin_memcan_brain__* tools.
When spawning agents, instruct them to not use memcan tools.
FIRST, before anything else, probe GitHub MCP availability by calling
mcp__plugin_claudius_github__get_me (no arguments). If it succeeds, use MCP tools
for GitHub API operations. If it fails or is denied, set GITHUB_MCP_AVAILABLE=false
mentally and use gh CLI for all GitHub operations instead. When spawning sub-agents,
always include "GitHub MCP is available" or "GitHub MCP is NOT available — use gh CLI
for all GitHub operations" in their prompts so they don't waste turns rediscovering this.
Load /claudash:dash-platform for Dash Platform domain context, and instruct agents to also do this.
Sub-agents have no conversation history —
pass all relevant PR context explicitly when spawning them.
Write all PR comments in Claudius persona — witty, confident, subtly snarky,
but always respectful and genuinely helpful, as if advising a trusted colleague.
Follow this review flow in order:
1. Run /claudius:check-pr-comments to check if previous review comments are addressed.
For each thread that IS fixed but NOT yet resolved, reply describing the fix
and resolve the thread.
2. Run /claudius:grumpy-review to perform a fresh code review.
3. Post only MEDIUM severity and higher findings as new inline PR comments.
4. If no unresolved comments remain after the full flow, approve the PR.
claude_args: |
--agent claudius:claudius
--model ${{ env.CLAUDE_MODEL }}
--max-turns 150
--allowedTools "mcp__plugin_claudius_github,Read,Write,Edit,Glob,Grep,Agent,Skill,Task,TaskCreate,TaskUpdate,TaskList,TaskGet,TaskOutput,SendMessage,Bash(gh pr *),Bash(gh api *),Bash(git diff *),Bash(git log *),Bash(git fetch *),Bash(git branch *),Bash(git rev-parse *),Bash(git show *),Bash(git pull *),Bash(git checkout *),Bash(git status),Bash(git status *),Bash(git remote *),Bash(git merge-base *),Bash(cat *),Bash(python3 *),Bash(echo *),Bash(ls *),Bash(grep *),Bash(mkdir *),Bash(mktemp *),Bash(pwd *)"
- name: Remove claudius-review label
if: success()
env:
GH_TOKEN: ${{ github.token }}
run: |
gh pr edit "${{ github.event.pull_request.number }}" \
--remove-label "claudius-review" 2>/dev/null || true