Runs the same gates as the schedule and, when they pass, moves the build from the channel below into this one. A refusal names each gate that failed. It goes ahead while the schedule is off. An agent token for the team can promote, as can a person who manages the project’s policy.
Usage
overlane channel promote channel [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
channel |
yes | internal, nightly, beta, stable or lts |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane channel promote beta
overlane channel promote stable --dry-runBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema channel promote.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"tenantId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"channel": {
"type": "object",
"properties": {
"channel": {
"type": "string",
"enum": [
"internal",
"nightly",
"beta",
"stable",
"lts"
]
},
"build": {
"anyOf": [
{
"type": "object",
"properties": {
"commitSha": {
"type": "string"
},
"version": {
"type": "string"
},
"enteredAt": {
"type": "string"
}
},
"required": [
"commitSha",
"version",
"enteredAt"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"held": {
"type": "boolean"
},
"holdReason": {
"type": [
"string",
"null"
]
},
"heldBy": {
"type": [
"string",
"null"
]
},
"updatedAt": {
"type": "string"
}
},
"required": [
"channel",
"build",
"held",
"holdReason",
"heldBy",
"updatedAt"
],
"additionalProperties": {}
},
"promotion": {
"type": "object",
"properties": {
"promotionId": {
"type": "string"
},
"from": {
"anyOf": [
{
"type": "string",
"enum": [
"internal",
"nightly",
"beta",
"stable",
"lts"
]
},
{
"type": "null"
}
]
},
"to": {
"type": "string",
"enum": [
"internal",
"nightly",
"beta",
"stable",
"lts"
]
},
"version": {
"type": [
"string",
"null"
]
},
"commitSha": {
"type": [
"string",
"null"
]
},
"at": {
"type": "string"
},
"actor": {
"type": "string"
},
"outcome": {
"type": "string",
"enum": [
"promoted",
"refused",
"rolled_back"
]
},
"gates": {
"type": "object",
"properties": {
"failed": {
"type": "array",
"items": {
"type": "object",
"properties": {
"gate": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"gate",
"reason"
],
"additionalProperties": {}
}
}
},
"required": [
"failed"
],
"additionalProperties": {}
}
},
"required": [
"promotionId",
"from",
"to",
"version",
"commitSha",
"at",
"actor",
"outcome",
"gates"
],
"additionalProperties": {}
}
},
"required": [
"tenantId",
"projectId"
],
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.