| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://github.com/flyfish-dev/file-viewer/releases/download/v2.0.1/release-status.schema.json",
- "title": "Flyfish File Viewer release status",
- "type": "object",
- "additionalProperties": false,
- "required": [
- "schemaVersion",
- "generatedAt",
- "version",
- "sourcePolicy",
- "openSourcePolicy",
- "sourceBaseline",
- "local",
- "sourceRemote",
- "openSourceMain",
- "githubRelease",
- "componentRepositories",
- "npmPackages",
- "gaps",
- "gapSummary",
- "gapDetails",
- "nextActions"
- ],
- "properties": {
- "schemaVersion": {
- "type": "integer",
- "const": 1
- },
- "generatedAt": {
- "type": "string"
- },
- "version": {
- "type": "string"
- },
- "sourcePolicy": {
- "type": "string",
- "const": "private-complete-original-workspace"
- },
- "openSourcePolicy": {
- "type": "string",
- "const": "public-open-source-main-repository"
- },
- "sourceBaseline": {
- "type": "object",
- "additionalProperties": false,
- "required": [
- "repository",
- "branch",
- "policy",
- "authoritativeCommit",
- "localBranch",
- "localCommit",
- "inSync",
- "note"
- ],
- "properties": {
- "repository": { "type": "string" },
- "branch": { "type": "string", "const": "main" },
- "policy": { "type": "string", "const": "private-complete-original-workspace" },
- "authoritativeCommit": { "type": "string" },
- "localBranch": { "type": "string" },
- "localCommit": { "type": "string" },
- "inSync": { "type": "boolean" },
- "note": { "type": "string" }
- }
- },
- "local": {
- "type": "object",
- "additionalProperties": false,
- "required": ["branch", "commit", "shortCommit", "dirty"],
- "properties": {
- "branch": { "type": "string" },
- "commit": { "type": "string" },
- "shortCommit": { "type": "string" },
- "dirty": { "type": "boolean" }
- }
- },
- "sourceRemote": {
- "$ref": "#/$defs/remoteHead"
- },
- "openSourceMain": {
- "type": "object",
- "additionalProperties": false,
- "required": [
- "github",
- "gitee",
- "inSync",
- "syncMode",
- "treeChecked",
- "referenceTree",
- "giteeTree",
- "treeError",
- "reportHashNote"
- ],
- "properties": {
- "github": { "$ref": "#/$defs/remoteHead" },
- "gitee": { "$ref": "#/$defs/remoteHead" },
- "inSync": { "type": "boolean" },
- "syncMode": {
- "type": "string",
- "enum": ["commit", "tree", "stale", "missing", "unchecked"]
- },
- "treeChecked": { "type": "boolean" },
- "referenceTree": { "type": "string" },
- "giteeTree": { "type": "string" },
- "treeError": { "type": "string" },
- "reportHashNote": { "type": "string" }
- }
- },
- "githubRelease": {
- "type": "object",
- "additionalProperties": false,
- "required": ["ok", "tag", "url", "assetCount", "hasManifest", "hasStatus", "hasSchema", "error"],
- "properties": {
- "ok": { "type": "boolean" },
- "tag": { "type": "string" },
- "url": { "type": "string" },
- "assetCount": { "type": "integer" },
- "hasManifest": { "type": "boolean" },
- "hasStatus": { "type": "boolean" },
- "hasSchema": { "type": "boolean" },
- "error": { "type": "string" }
- }
- },
- "componentRepositories": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "required": ["id", "packageName", "github", "gitee"],
- "properties": {
- "id": { "type": "string" },
- "packageName": { "type": "string" },
- "github": { "$ref": "#/$defs/remoteHead" },
- "gitee": { "$ref": "#/$defs/remoteHead" }
- }
- }
- },
- "npmPackages": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": false,
- "required": ["packageName", "expectedVersion", "publishedVersion", "ok", "error"],
- "properties": {
- "packageName": { "type": "string" },
- "expectedVersion": { "type": "string" },
- "publishedVersion": { "type": ["string", "null"] },
- "ok": { "type": "boolean" },
- "error": { "type": "string" }
- }
- }
- },
- "gaps": {
- "type": "array",
- "items": { "type": "string" }
- },
- "gapSummary": {
- "type": "object",
- "additionalProperties": false,
- "required": [
- "total",
- "externalBlockers",
- "localActionable",
- "byChannel",
- "externalBlockerChannels",
- "localActionableChannels"
- ],
- "properties": {
- "total": { "type": "integer" },
- "externalBlockers": { "type": "integer" },
- "localActionable": { "type": "integer" },
- "byChannel": {
- "type": "object",
- "additionalProperties": { "type": "integer" }
- },
- "externalBlockerChannels": {
- "type": "array",
- "items": { "type": "string" }
- },
- "localActionableChannels": {
- "type": "array",
- "items": { "type": "string" }
- }
- }
- },
- "gapDetails": {
- "type": "array",
- "items": { "$ref": "#/$defs/gapDetail" }
- },
- "nextActions": {
- "type": "array",
- "items": { "type": "string" }
- }
- },
- "$defs": {
- "remoteHead": {
- "type": "object",
- "additionalProperties": false,
- "required": ["url", "branch", "ok", "hash", "error"],
- "properties": {
- "url": { "type": "string" },
- "branch": { "type": "string" },
- "ok": { "type": "boolean" },
- "hash": { "type": "string" },
- "error": { "type": "string" }
- }
- },
- "gapDetail": {
- "type": "object",
- "additionalProperties": false,
- "required": ["id", "channel", "scope", "externalBlocker", "message", "nextAction"],
- "properties": {
- "id": { "type": "string" },
- "channel": {
- "type": "string",
- "enum": [
- "source-worktree",
- "source-remote",
- "github",
- "github-release",
- "gitee",
- "npm",
- "unknown"
- ]
- },
- "scope": { "type": "string" },
- "externalBlocker": { "type": "boolean" },
- "message": { "type": "string" },
- "nextAction": { "type": "string" }
- }
- }
- }
- }
|