Fix test status stamping
--- Build: pass | Tests: pass — 2380 passed (175 files)
This commit is contained in:
parent
b5a5da723a
commit
17746bb98b
4 changed files with 35 additions and 4 deletions
|
|
@ -55,6 +55,19 @@ FOOTER=$(node -e '
|
|||
process.stdout.write(footer);
|
||||
' "$BUILD_PATH" "$TEST_PATH")
|
||||
|
||||
node -e '
|
||||
const fs = require("fs");
|
||||
const file = process.argv[1];
|
||||
let text = fs.readFileSync(file, "utf8");
|
||||
const footerRe = /\s*\n---\n(?:\s*\n)*(?:Build:[^\n]*(?:\n(?:\s*\n)*Tests:[^\n]*)?|Tests:[^\n]*)(?:\s*\n)*$/u;
|
||||
let previous;
|
||||
do {
|
||||
previous = text;
|
||||
text = text.replace(footerRe, "");
|
||||
} while (text !== previous);
|
||||
fs.writeFileSync(file, text.trimEnd() + "\n");
|
||||
' "$COMMIT_MSG_FILE"
|
||||
|
||||
{
|
||||
printf '\n---\n'
|
||||
printf '%s\n' "$FOOTER"
|
||||
|
|
|
|||
|
|
@ -119,10 +119,11 @@ export function isKnowledgeSource(file) {
|
|||
export function collectChangedFiles(options) {
|
||||
const files = new Set();
|
||||
const diffFilter = '--diff-filter=ACMRTUXBD';
|
||||
const listGitLines = options.gitLines ?? gitLines;
|
||||
|
||||
if (options.base) {
|
||||
if (refExists(options.base)) {
|
||||
for (const file of gitLines(['diff', '--name-only', diffFilter, `${options.base}...HEAD`])) {
|
||||
for (const file of listGitLines(['diff', '--name-only', diffFilter, `${options.base}...HEAD`])) {
|
||||
files.add(file);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -131,10 +132,10 @@ export function collectChangedFiles(options) {
|
|||
}
|
||||
|
||||
if (!options.committedOnly) {
|
||||
for (const file of gitLines(['diff', '--name-only', diffFilter, 'HEAD'])) {
|
||||
for (const file of listGitLines(['diff', '--name-only', diffFilter, 'HEAD'])) {
|
||||
files.add(file);
|
||||
}
|
||||
for (const file of gitLines(['ls-files', '--others', '--exclude-standard'])) {
|
||||
for (const file of listGitLines(['ls-files', '--others', '--exclude-standard'])) {
|
||||
files.add(file);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ run_tests() {
|
|||
let parsed;
|
||||
try { parsed = JSON.parse(raw); } catch { process.stdout.write("{}"); process.exit(0); }
|
||||
const total = parsed.numTotalTests ?? 0;
|
||||
const totalFiles = parsed.numTotalTestSuites ?? parsed.testResults?.length ?? 0;
|
||||
const totalFiles = parsed.testResults?.length ?? parsed.numTotalTestSuites ?? 0;
|
||||
const failing = parsed.numFailedTests ?? 0;
|
||||
const skipped = parsed.numPendingTests ?? 0;
|
||||
const failingNames = [];
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ describe('isKnowledgeSource', () => {
|
|||
|
||||
describe('collectChangedFiles', () => {
|
||||
it('includes deleted knowledge-source files from the working tree diff', () => {
|
||||
const gitCalls: string[][] = [];
|
||||
const changedFiles = collectChangedFiles({
|
||||
base: undefined,
|
||||
artifactVersion: undefined,
|
||||
|
|
@ -38,8 +39,24 @@ describe('collectChangedFiles', () => {
|
|||
skipBudgetCheck: false,
|
||||
skipOnMissingKey: false,
|
||||
minRemainingUsd: 0.25,
|
||||
gitLines: (args: string[]) => {
|
||||
gitCalls.push(args);
|
||||
if (args[0] === 'diff') {
|
||||
return [
|
||||
'.agent/skills/get-qodo-rules/SKILL.md',
|
||||
'.agent/skills/qodo-pr-resolver/SKILL.md',
|
||||
];
|
||||
}
|
||||
return [];
|
||||
},
|
||||
});
|
||||
|
||||
expect(gitCalls).toContainEqual([
|
||||
'diff',
|
||||
'--name-only',
|
||||
'--diff-filter=ACMRTUXBD',
|
||||
'HEAD',
|
||||
]);
|
||||
expect(changedFiles).toContain('.agent/skills/get-qodo-rules/SKILL.md');
|
||||
expect(changedFiles).toContain('.agent/skills/qodo-pr-resolver/SKILL.md');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue