fix: stage generated review files

This commit is contained in:
2026-05-15 05:47:06 +00:00
parent 68cd124f59
commit ece7377fc8
2 changed files with 26 additions and 14 deletions
+21 -13
View File
@@ -94,20 +94,28 @@ describe('commitAndPush', () => {
});
it('adds skill and entry files together with findings', async () => {
const repoDir = path.join(workspace, 'repo');
fs.mkdirSync(path.join(repoDir, '.gitea/ai-review'), { recursive: true });
fs.writeFileSync(path.join(repoDir, '.gitea/ai-review/findings.json'), '[]\n');
fs.writeFileSync(path.join(repoDir, '.gitea/ai-review/exclusions.json'), '[]\n');
const spawn = makeSpawn();
await commitAndPush(workspace, path.join(workspace, 'repo'), spawn, sourceRoot);
const addCall = spawn.calls.find(c => c.args[0] === 'add');
assert.ok(addCall, 'expected git add to run');
assert.ok(addCall.args.includes('.github/skills/triage-findings/SKILL.md'));
assert.ok(addCall.args.includes('.codex/skills/triage-findings/SKILL.md'));
assert.ok(addCall.args.includes('.codex/skills/triage-findings/agents/openai.yaml'));
assert.ok(addCall.args.includes('.claude/skills/triage-findings/SKILL.md'));
assert.ok(addCall.args.includes('.gemini/skills/triage-findings/SKILL.md'));
assert.ok(addCall.args.includes('.github/copilot-instructions.md'));
assert.ok(addCall.args.includes('.amazonq/rules/triage-findings.md'));
assert.ok(addCall.args.includes('CLAUDE.md'));
assert.ok(addCall.args.includes('GEMINI.md'));
assert.ok(!addCall.args.includes('README.md'));
await commitAndPush(workspace, repoDir, spawn, sourceRoot);
const addCalls = spawn.calls.filter(c => c.args[0] === 'add');
const skillAddCall = addCalls.find(c => c.args.includes('.github/skills/triage-findings/SKILL.md'));
const generatedAddCall = addCalls.find(c => c.args.includes('.gitea/ai-review/exclusions.json'));
assert.ok(skillAddCall, 'expected git add for synced skill files');
assert.ok(generatedAddCall, 'expected git add for generated review files');
assert.ok(skillAddCall.args.includes('.codex/skills/triage-findings/SKILL.md'));
assert.ok(skillAddCall.args.includes('.codex/skills/triage-findings/agents/openai.yaml'));
assert.ok(skillAddCall.args.includes('.claude/skills/triage-findings/SKILL.md'));
assert.ok(skillAddCall.args.includes('.gemini/skills/triage-findings/SKILL.md'));
assert.ok(skillAddCall.args.includes('.github/copilot-instructions.md'));
assert.ok(skillAddCall.args.includes('.amazonq/rules/triage-findings.md'));
assert.ok(skillAddCall.args.includes('CLAUDE.md'));
assert.ok(skillAddCall.args.includes('GEMINI.md'));
assert.ok(!skillAddCall.args.includes('README.md'));
assert.ok(generatedAddCall.args.includes('.gitea/ai-review/findings.json'));
assert.ok(generatedAddCall.args.includes('.gitea/ai-review/exclusions.json'));
});
it('keeps repo copies when the source sync file is missing', async () => {