ad6695245b
ACK 0.19.0 hands test-environment deploys to the deployer skill, documents bug-fix as a first-class scenario, and adds docs/ack/regression.yaml harvest plus a /ack regression run.
93 lines
2.9 KiB
JSON
93 lines
2.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://git.yumee.top/laily/skills/skills/ack/templates/regression.schema.json",
|
|
"title": "ACK project regression catalog",
|
|
"description": "docs/ack/regression.yaml 的权威结构。用例是给 Test worker 的可观测信号说明书,不是可执行 DSL。",
|
|
"type": "object",
|
|
"required": ["version", "updatedAt", "project", "cases"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"version": { "type": "integer", "const": 1 },
|
|
"updatedAt": { "type": "string" },
|
|
"project": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": { "type": "string", "minLength": 1, "pattern": "\\S" }
|
|
}
|
|
},
|
|
"cases": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/case" }
|
|
}
|
|
},
|
|
"definitions": {
|
|
"caseId": {
|
|
"type": "string",
|
|
"pattern": "^REG-[A-Za-z0-9][A-Za-z0-9-]*$"
|
|
},
|
|
"stringList": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": { "type": "string", "minLength": 1, "pattern": "\\S" }
|
|
},
|
|
"relativePath": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))[A-Za-z0-9._/-]+$"
|
|
},
|
|
"expectedSignal": {
|
|
"type": "object",
|
|
"required": ["kind", "value"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"kind": {
|
|
"type": "string",
|
|
"enum": ["visible-text", "api-status", "api-field", "url", "interaction"]
|
|
},
|
|
"value": { "type": "string", "minLength": 1, "pattern": "\\S" }
|
|
}
|
|
},
|
|
"case": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"status",
|
|
"source",
|
|
"suite",
|
|
"surface",
|
|
"setup",
|
|
"steps",
|
|
"expected"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"id": { "$ref": "#/definitions/caseId" },
|
|
"title": { "type": "string", "minLength": 1, "pattern": "\\S" },
|
|
"status": { "type": "string", "enum": ["active", "retired"] },
|
|
"source": {
|
|
"type": "object",
|
|
"required": ["taskId", "kind"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"taskId": { "type": "string", "minLength": 1, "pattern": "\\S" },
|
|
"kind": { "type": "string", "enum": ["feature", "bug"] }
|
|
}
|
|
},
|
|
"suite": { "type": "string", "enum": ["smoke", "full"] },
|
|
"surface": { "type": "string", "enum": ["browser", "api"] },
|
|
"setup": { "type": "string", "minLength": 1, "pattern": "\\S" },
|
|
"steps": { "$ref": "#/definitions/stringList" },
|
|
"expected": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": { "$ref": "#/definitions/expectedSignal" }
|
|
},
|
|
"automationRef": { "$ref": "#/definitions/relativePath" }
|
|
}
|
|
}
|
|
}
|
|
}
|