mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 22:49:16 +00:00
v1.59.0-beta.8: audit follow-ups and inner-corner sun rays
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { classifyValidateRuns } from '../scripts/release-gate.mjs';
|
||||
|
||||
test('release gate waits until an exact-SHA Validate exists and completes', () => {
|
||||
assert.equal(classifyValidateRuns([]), 'wait');
|
||||
assert.equal(classifyValidateRuns([{ status: 'queued', conclusion: null }]), 'wait');
|
||||
assert.equal(classifyValidateRuns([
|
||||
{ status: 'completed', conclusion: 'success' },
|
||||
{ status: 'in_progress', conclusion: null },
|
||||
]), 'wait');
|
||||
});
|
||||
|
||||
test('release gate accepts only completed success runs', () => {
|
||||
assert.equal(classifyValidateRuns([
|
||||
{ status: 'completed', conclusion: 'success' },
|
||||
{ status: 'completed', conclusion: 'success' },
|
||||
]), 'success');
|
||||
});
|
||||
|
||||
test('release gate fails closed for red, cancelled and skipped runs', () => {
|
||||
for (const conclusion of ['failure', 'cancelled', 'timed_out', 'action_required', 'skipped', null]) {
|
||||
assert.equal(
|
||||
classifyValidateRuns([{ status: 'completed', conclusion }]),
|
||||
'fail',
|
||||
`completed/${conclusion} must withhold the asset`,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
test('one red duplicate blocks a green duplicate for the same SHA', () => {
|
||||
assert.equal(classifyValidateRuns([
|
||||
{ status: 'completed', conclusion: 'success' },
|
||||
{ status: 'completed', conclusion: 'failure' },
|
||||
]), 'fail');
|
||||
});
|
||||
Reference in New Issue
Block a user