forked from keithah/multi-provider-code-review
-
Notifications
You must be signed in to change notification settings - Fork 0
118 lines (102 loc) · 4.49 KB
/
Copy pathtest-cli-providers.yml
File metadata and controls
118 lines (102 loc) · 4.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
name: Test CLI Providers
on:
workflow_dispatch: # Manual trigger for testing
pull_request:
paths:
- '.github/workflows/test-cli-providers.yml'
jobs:
test-cli-providers:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
# Install CLI tools
- name: Install Gemini CLI
run: npm install -g @google/gemini-cli
- name: Install Codex CLI
run: npm install -g codex-cli
- name: Install Claude Code CLI
run: |
# Note: Replace with official installation method when available
# For now, this is a placeholder
echo "Claude Code CLI installation would go here"
# Restore OAuth credentials from secrets
- name: Setup Claude Code credentials
if: ${{ secrets.CLAUDE_CODE_OAUTH != '' }}
run: |
mkdir -p ~/.config/claude
echo '${{ secrets.CLAUDE_CODE_OAUTH }}' > ~/.config/claude/credentials.json
chmod 600 ~/.config/claude/credentials.json
echo "✅ Claude Code credentials configured"
- name: Setup Codex credentials
if: ${{ secrets.CODEX_AUTH_JSON != '' }}
run: |
mkdir -p ~/.codex
echo '${{ secrets.CODEX_AUTH_JSON }}' > ~/.codex/auth.json
echo '${{ secrets.CODEX_CONFIG_TOML }}' > ~/.codex/config.toml
chmod 600 ~/.codex/auth.json ~/.codex/config.toml
echo "✅ Codex credentials configured"
- name: Setup Gemini credentials
if: ${{ secrets.GEMINI_OAUTH_CREDS != '' }}
run: |
mkdir -p ~/.gemini
echo '${{ secrets.GEMINI_OAUTH_CREDS }}' > ~/.gemini/oauth_creds.json
echo '${{ secrets.GEMINI_SETTINGS }}' > ~/.gemini/settings.json
chmod 600 ~/.gemini/oauth_creds.json ~/.gemini/settings.json
echo "✅ Gemini credentials configured"
# Verify CLIs can authenticate
- name: Verify Claude Code
if: ${{ secrets.CLAUDE_CODE_OAUTH != '' }}
continue-on-error: true
run: |
if command -v claude &> /dev/null; then
claude --version || echo "⚠️ Claude Code not fully installed"
else
echo "⚠️ Claude Code CLI not installed"
fi
- name: Verify Codex
if: ${{ secrets.CODEX_AUTH_JSON != '' }}
continue-on-error: true
run: |
if command -v codex &> /dev/null; then
codex --version || echo "⚠️ Codex authentication may need refresh"
else
echo "⚠️ Codex CLI not installed"
fi
- name: Verify Gemini
if: ${{ secrets.GEMINI_OAUTH_CREDS != '' }}
continue-on-error: true
run: |
if command -v gemini &> /dev/null; then
gemini --version || echo "⚠️ Gemini authentication may need refresh"
else
echo "⚠️ Gemini CLI not installed"
fi
# Test the ReviewRouter CLI from this checkout.
- name: Build ReviewRouter CLI
run: |
npm ci
npm run build:cli
- name: Test provider validation
run: |
echo "Testing provider name validation..."
node dist/cli/index.js version
- name: Summary
run: |
echo "## CLI Provider Setup Test Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Secrets Configured:" >> $GITHUB_STEP_SUMMARY
echo "- CLAUDE_CODE_OAUTH: ${{ secrets.CLAUDE_CODE_OAUTH != '' && '✅' || '❌' }}" >> $GITHUB_STEP_SUMMARY
echo "- CODEX_AUTH_JSON: ${{ secrets.CODEX_AUTH_JSON != '' && '✅' || '❌' }}" >> $GITHUB_STEP_SUMMARY
echo "- CODEX_CONFIG_TOML: ${{ secrets.CODEX_CONFIG_TOML != '' && '✅' || '❌' }}" >> $GITHUB_STEP_SUMMARY
echo "- GEMINI_OAUTH_CREDS: ${{ secrets.GEMINI_OAUTH_CREDS != '' && '✅' || '❌' }}" >> $GITHUB_STEP_SUMMARY
echo "- GEMINI_SETTINGS: ${{ secrets.GEMINI_SETTINGS != '' && '✅' || '❌' }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Next Steps:" >> $GITHUB_STEP_SUMMARY
echo "1. Update workflow to install CLI binaries properly" >> $GITHUB_STEP_SUMMARY
echo "2. Test actual review with: \`REVIEW_PROVIDERS='claude/sonnet,codex/gpt-5.5,gemini/gemini-2.0-flash'\`" >> $GITHUB_STEP_SUMMARY
echo "3. See docs/CI_SETUP.md for complete setup instructions" >> $GITHUB_STEP_SUMMARY