Skip to content

Commit 4f0f243

Browse files
Copilotostermanaknyshclaude
authored
fix: Add retry and missing workflow step properties to all schema copies (#2113)
* Initial plan * Add retry, working_directory, identity, and env properties to workflow step schema Co-authored-by: osterman <52489+osterman@users.noreply.github.com> * Update all 5 additional schema copies with retry and workflow step properties Extended schema updates to all atmos-manifest.json files: - pkg/datafetcher/schema/atmos/manifest/1.0.json (embedded schema) - tests/fixtures/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json - examples/demo-localstack/schemas/atmos-manifest.json - examples/demo-context/schemas/atmos-manifest.json - examples/demo-helmfile/schemas/atmos-manifest.json All 6 schemas now include retry, working_directory, identity, and env properties for workflow steps. Co-authored-by: osterman <52489+osterman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: osterman <52489+osterman@users.noreply.github.com> Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> Co-authored-by: aknysh <andriy.knysh@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 53d7820 commit 4f0f243

File tree

6 files changed

+306
-0
lines changed

6 files changed

+306
-0
lines changed

examples/demo-context/schemas/atmos-manifest.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,6 +1160,75 @@
11601160
},
11611161
"type": {
11621162
"type": "string"
1163+
},
1164+
"retry": {
1165+
"title": "retry",
1166+
"description": "Retry configuration for workflow step execution",
1167+
"oneOf": [
1168+
{
1169+
"type": "string",
1170+
"pattern": "^!include"
1171+
},
1172+
{
1173+
"type": "object",
1174+
"additionalProperties": false,
1175+
"properties": {
1176+
"max_attempts": {
1177+
"type": "integer",
1178+
"minimum": 1,
1179+
"description": "Maximum number of retry attempts"
1180+
},
1181+
"initial_delay": {
1182+
"type": "string",
1183+
"description": "Initial delay between retries (e.g., '1s', '500ms')"
1184+
},
1185+
"max_delay": {
1186+
"type": "string",
1187+
"description": "Maximum delay between retries (e.g., '30s', '1m')"
1188+
},
1189+
"backoff_strategy": {
1190+
"type": "string",
1191+
"enum": [
1192+
"constant",
1193+
"linear",
1194+
"exponential"
1195+
],
1196+
"description": "Strategy for increasing delay between retries"
1197+
},
1198+
"multiplier": {
1199+
"type": "number",
1200+
"minimum": 1,
1201+
"description": "Multiplier for exponential/linear backoff"
1202+
},
1203+
"random_jitter": {
1204+
"type": "number",
1205+
"minimum": 0,
1206+
"maximum": 1,
1207+
"description": "Random jitter factor (0-1) to add to delays"
1208+
},
1209+
"max_elapsed_time": {
1210+
"type": "string",
1211+
"description": "Maximum total time for all retry attempts (e.g., '5m', '1h')"
1212+
}
1213+
},
1214+
"required": []
1215+
}
1216+
]
1217+
},
1218+
"working_directory": {
1219+
"type": "string",
1220+
"description": "Working directory for the workflow step"
1221+
},
1222+
"identity": {
1223+
"type": "string",
1224+
"description": "Identity to use for the workflow step"
1225+
},
1226+
"env": {
1227+
"type": "object",
1228+
"additionalProperties": {
1229+
"type": "string"
1230+
},
1231+
"description": "Environment variables for the workflow step"
11631232
}
11641233
},
11651234
"required": [

examples/demo-helmfile/schemas/atmos-manifest.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,6 +1160,75 @@
11601160
},
11611161
"type": {
11621162
"type": "string"
1163+
},
1164+
"retry": {
1165+
"title": "retry",
1166+
"description": "Retry configuration for workflow step execution",
1167+
"oneOf": [
1168+
{
1169+
"type": "string",
1170+
"pattern": "^!include"
1171+
},
1172+
{
1173+
"type": "object",
1174+
"additionalProperties": false,
1175+
"properties": {
1176+
"max_attempts": {
1177+
"type": "integer",
1178+
"minimum": 1,
1179+
"description": "Maximum number of retry attempts"
1180+
},
1181+
"initial_delay": {
1182+
"type": "string",
1183+
"description": "Initial delay between retries (e.g., '1s', '500ms')"
1184+
},
1185+
"max_delay": {
1186+
"type": "string",
1187+
"description": "Maximum delay between retries (e.g., '30s', '1m')"
1188+
},
1189+
"backoff_strategy": {
1190+
"type": "string",
1191+
"enum": [
1192+
"constant",
1193+
"linear",
1194+
"exponential"
1195+
],
1196+
"description": "Strategy for increasing delay between retries"
1197+
},
1198+
"multiplier": {
1199+
"type": "number",
1200+
"minimum": 1,
1201+
"description": "Multiplier for exponential/linear backoff"
1202+
},
1203+
"random_jitter": {
1204+
"type": "number",
1205+
"minimum": 0,
1206+
"maximum": 1,
1207+
"description": "Random jitter factor (0-1) to add to delays"
1208+
},
1209+
"max_elapsed_time": {
1210+
"type": "string",
1211+
"description": "Maximum total time for all retry attempts (e.g., '5m', '1h')"
1212+
}
1213+
},
1214+
"required": []
1215+
}
1216+
]
1217+
},
1218+
"working_directory": {
1219+
"type": "string",
1220+
"description": "Working directory for the workflow step"
1221+
},
1222+
"identity": {
1223+
"type": "string",
1224+
"description": "Identity to use for the workflow step"
1225+
},
1226+
"env": {
1227+
"type": "object",
1228+
"additionalProperties": {
1229+
"type": "string"
1230+
},
1231+
"description": "Environment variables for the workflow step"
11631232
}
11641233
},
11651234
"required": [

examples/demo-localstack/schemas/atmos-manifest.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,6 +1160,75 @@
11601160
},
11611161
"type": {
11621162
"type": "string"
1163+
},
1164+
"retry": {
1165+
"title": "retry",
1166+
"description": "Retry configuration for workflow step execution",
1167+
"oneOf": [
1168+
{
1169+
"type": "string",
1170+
"pattern": "^!include"
1171+
},
1172+
{
1173+
"type": "object",
1174+
"additionalProperties": false,
1175+
"properties": {
1176+
"max_attempts": {
1177+
"type": "integer",
1178+
"minimum": 1,
1179+
"description": "Maximum number of retry attempts"
1180+
},
1181+
"initial_delay": {
1182+
"type": "string",
1183+
"description": "Initial delay between retries (e.g., '1s', '500ms')"
1184+
},
1185+
"max_delay": {
1186+
"type": "string",
1187+
"description": "Maximum delay between retries (e.g., '30s', '1m')"
1188+
},
1189+
"backoff_strategy": {
1190+
"type": "string",
1191+
"enum": [
1192+
"constant",
1193+
"linear",
1194+
"exponential"
1195+
],
1196+
"description": "Strategy for increasing delay between retries"
1197+
},
1198+
"multiplier": {
1199+
"type": "number",
1200+
"minimum": 1,
1201+
"description": "Multiplier for exponential/linear backoff"
1202+
},
1203+
"random_jitter": {
1204+
"type": "number",
1205+
"minimum": 0,
1206+
"maximum": 1,
1207+
"description": "Random jitter factor (0-1) to add to delays"
1208+
},
1209+
"max_elapsed_time": {
1210+
"type": "string",
1211+
"description": "Maximum total time for all retry attempts (e.g., '5m', '1h')"
1212+
}
1213+
},
1214+
"required": []
1215+
}
1216+
]
1217+
},
1218+
"working_directory": {
1219+
"type": "string",
1220+
"description": "Working directory for the workflow step"
1221+
},
1222+
"identity": {
1223+
"type": "string",
1224+
"description": "Identity to use for the workflow step"
1225+
},
1226+
"env": {
1227+
"type": "object",
1228+
"additionalProperties": {
1229+
"type": "string"
1230+
},
1231+
"description": "Environment variables for the workflow step"
11631232
}
11641233
},
11651234
"required": [

pkg/datafetcher/schema/atmos/manifest/1.0.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,75 @@
11681168
},
11691169
"type": {
11701170
"type": "string"
1171+
},
1172+
"retry": {
1173+
"title": "retry",
1174+
"description": "Retry configuration for workflow step execution",
1175+
"oneOf": [
1176+
{
1177+
"type": "string",
1178+
"pattern": "^!include"
1179+
},
1180+
{
1181+
"type": "object",
1182+
"additionalProperties": false,
1183+
"properties": {
1184+
"max_attempts": {
1185+
"type": "integer",
1186+
"minimum": 1,
1187+
"description": "Maximum number of retry attempts"
1188+
},
1189+
"initial_delay": {
1190+
"type": "string",
1191+
"description": "Initial delay between retries (e.g., '1s', '500ms')"
1192+
},
1193+
"max_delay": {
1194+
"type": "string",
1195+
"description": "Maximum delay between retries (e.g., '30s', '1m')"
1196+
},
1197+
"backoff_strategy": {
1198+
"type": "string",
1199+
"enum": [
1200+
"constant",
1201+
"linear",
1202+
"exponential"
1203+
],
1204+
"description": "Strategy for increasing delay between retries"
1205+
},
1206+
"multiplier": {
1207+
"type": "number",
1208+
"minimum": 1,
1209+
"description": "Multiplier for exponential/linear backoff"
1210+
},
1211+
"random_jitter": {
1212+
"type": "number",
1213+
"minimum": 0,
1214+
"maximum": 1,
1215+
"description": "Random jitter factor (0-1) to add to delays"
1216+
},
1217+
"max_elapsed_time": {
1218+
"type": "string",
1219+
"description": "Maximum total time for all retry attempts (e.g., '5m', '1h')"
1220+
}
1221+
},
1222+
"required": []
1223+
}
1224+
]
1225+
},
1226+
"working_directory": {
1227+
"type": "string",
1228+
"description": "Working directory for the workflow step"
1229+
},
1230+
"identity": {
1231+
"type": "string",
1232+
"description": "Identity to use for the workflow step"
1233+
},
1234+
"env": {
1235+
"type": "object",
1236+
"additionalProperties": {
1237+
"type": "string"
1238+
},
1239+
"description": "Environment variables for the workflow step"
11711240
}
11721241
},
11731242
"required": [

tests/fixtures/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,21 @@
12231223
},
12241224
"retry": {
12251225
"$ref": "#/definitions/workflow_retry"
1226+
},
1227+
"working_directory": {
1228+
"type": "string",
1229+
"description": "Working directory for the workflow step"
1230+
},
1231+
"identity": {
1232+
"type": "string",
1233+
"description": "Identity to use for the workflow step"
1234+
},
1235+
"env": {
1236+
"type": "object",
1237+
"additionalProperties": {
1238+
"type": "string"
1239+
},
1240+
"description": "Environment variables for the workflow step"
12261241
}
12271242
},
12281243
"required": [

website/static/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,21 @@
12231223
},
12241224
"retry": {
12251225
"$ref": "#/definitions/workflow_retry"
1226+
},
1227+
"working_directory": {
1228+
"type": "string",
1229+
"description": "Working directory for the workflow step"
1230+
},
1231+
"identity": {
1232+
"type": "string",
1233+
"description": "Identity to use for the workflow step"
1234+
},
1235+
"env": {
1236+
"type": "object",
1237+
"additionalProperties": {
1238+
"type": "string"
1239+
},
1240+
"description": "Environment variables for the workflow step"
12261241
}
12271242
},
12281243
"required": [

0 commit comments

Comments
 (0)