fix: dedupe inline comments across severity drift #24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test CLI Providers | ||
|
Check failure on line 1 in .github/workflows/test-cli-providers.yml
|
||
| 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 | ||