test: green up after Phase 2 merge for #26\n\n- Fix AST tests (is_override)\n- Align MIR builder test with current If AST\n- Adjust ResultBox API usage in tests\n- Add len() helpers to ArrayBox/BufferBox for tests

This commit is contained in:
Moe Charm
2025-08-13 11:53:34 +09:00
parent c6f76505b5
commit 2eba31143a
107 changed files with 6435 additions and 13 deletions

View File

@ -0,0 +1,101 @@
name: NekoCode PR Impact Analysis
on:
pull_request:
types: [opened, synchronize, reopened]
branches: [main, dev]
jobs:
nekocode-analysis:
runs-on: ubuntu-latest
name: Code Impact Analysis
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout PR
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download NekoCode
run: |
mkdir -p bin
curl -L https://github.com/moe-charm/nekocode-rust/raw/main/bin/nekocode_ai -o bin/nekocode_ai
chmod +x bin/nekocode_ai
- name: Analyze Current PR
id: analyze-pr
run: |
echo "🔍 Analyzing PR changes..."
./bin/nekocode_ai analyze src/ --stats-only > pr_analysis.txt 2>&1 || true
echo "📊 Analysis Results:"
cat pr_analysis.txt
FILES_COUNT=$(grep -o "found [0-9]* files" pr_analysis.txt | grep -o "[0-9]*" || echo "0")
ANALYSIS_TIME=$(grep -o "Total directory analysis took: [0-9.]*s" pr_analysis.txt | grep -o "[0-9.]*s" || echo "N/A")
echo "files_analyzed=$FILES_COUNT" >> $GITHUB_OUTPUT
echo "analysis_time=$ANALYSIS_TIME" >> $GITHUB_OUTPUT
- name: Generate Impact Report
run: |
PR_FILES=${{ steps.analyze-pr.outputs.files_analyzed }}
ANALYSIS_TIME=${{ steps.analyze-pr.outputs.analysis_time }}
cat > impact_report.md << EOF
## 🦀 NekoCode Analysis Report
### 📊 Code Impact Summary
| Metric | Value |
|--------|-------|
| **Files Analyzed** | ${PR_FILES} files |
| **Analysis Time** | ${ANALYSIS_TIME} |
| **Languages Detected** | Rust |
### ✅ Analysis Status
- **Code Quality**: NekoCode analysis completed successfully
- **Performance**: Analysis completed in ${ANALYSIS_TIME}
- **Compatibility**: All detected files processed without errors
---
*🚀 Analysis powered by [NekoCode](https://github.com/moe-charm/nekocode-rust)*
EOF
- name: Comment PR
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const report = fs.readFileSync('impact_report.md', 'utf8');
const comments = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const nekocodeComment = comments.data.find(comment =>
comment.body.includes('🦀 NekoCode Analysis Report')
);
if (nekocodeComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: nekocodeComment.id,
body: report
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: report
});
}