Add retry field to workflow step schema#2114
Conversation
… to workflow step schema Add a `workflow_retry` definition to the atmos manifest JSON schema and reference it as the `retry` property in workflow step items. This matches the existing `WorkflowStep.Retry` field in the Go struct. Without this, schema validation would reject any workflow file using `retry` in steps with an "additionalProperties 'retry' not allowed" error.
📝 WalkthroughWalkthroughUpdated the Atmos manifest JSON schema to support retry configuration in workflow steps by introducing a new Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
website/static/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json (1)
1403-1456: Consider reusing a shared retry schema to avoid drift.
workflow_retrymirrorssource_retry. Reusing one shared definition keeps future updates safer and leaner.Proposed refactor
- "retry": { - "$ref": "#/definitions/workflow_retry" - } + "retry": { + "$ref": "#/definitions/source_retry" + }Then remove
definitions.workflow_retry(Line 1403-Line 1456) if no workflow-specific divergence is needed.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@website/static/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json` around lines 1403 - 1456, The workflow_retry schema duplicates source_retry; replace the duplicated definition by removing definitions.workflow_retry and instead add a $ref to the shared definitions.source_retry wherever workflow_retry is referenced (keep the existing oneOf semantics by referencing the shared schema which should include the same string-or-object shape); update any places that reference workflow_retry to point to the shared definition (use "$ref": "#/definitions/source_retry") and ensure no workflow-specific properties remain—delete the workflow_retry block (definitions.workflow_retry) if there is no divergence.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@website/static/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json`:
- Around line 1403-1456: The workflow_retry schema duplicates source_retry;
replace the duplicated definition by removing definitions.workflow_retry and
instead add a $ref to the shared definitions.source_retry wherever
workflow_retry is referenced (keep the existing oneOf semantics by referencing
the shared schema which should include the same string-or-object shape); update
any places that reference workflow_retry to point to the shared definition (use
"$ref": "#/definitions/source_retry") and ensure no workflow-specific properties
remain—delete the workflow_retry block (definitions.workflow_retry) if there is
no divergence.
ℹ️ Review info
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
tests/fixtures/schemas/atmos/atmos-manifest/1.0/atmos-manifest.jsonwebsite/static/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2114 +/- ##
=======================================
Coverage 76.53% 76.53%
=======================================
Files 832 832
Lines 79407 79407
=======================================
+ Hits 60772 60777 +5
+ Misses 14842 14838 -4
+ Partials 3793 3792 -1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Thanks for the review @osterman! Let me know if there's anything else needed to get this merged. |
|
These changes were released in v1.208.0. |
…raform-plan * osterman/native-ci-terraform: (28 commits) feat: Add source cache TTL for JIT-vendored components (#2138) feat: Per-target version overrides in vendor manifests (#2141) docs: Add PRD for browser-based auth in aws/user identity (#1887) docs: Add EKS kubeconfig authentication integration PRD (#1884) fix: correct marketplace.json schema and update docs with install/uninstall commands (#2142) fix: propagate auth to all YAML functions in multi-component execution (#2140) fix: Use atmos_component for source provisioner workdir paths (#2137) Fix identity prompts to respect --interactive flag (#2130) Increase PR size thresholds to accommodate AI-assisted development (#2136) docs: Add Azure authentication provider documentation (#2132) fix: propagate component-type level dependencies through stack processor (#2127) fix: Add retry and missing workflow step properties to all schema copies (#2113) Exclude unsupported windows/arm from goreleaser build matrix (#2133) Add AI Agent Skills for LLM-Powered Infrastructure Development (#2121) Fix: Convert toolchain paths to absolute in PATH to resolve exec.LookPath failures (#2095) Fix workdir collision for component instances sharing base component (#2093) fix(auth): propagate TTY state to subprocesses for SSO device flow in workflows (#2126) fix(security): prevent SSRF in GitHub OIDC token URL handling (CWE-918) (#2106) Fix #2112: add workflow_retry definition and retry property to workflow step schema (#2114) fix(auth): auto-detect GitHub Actions WIF with proper audience, host validation, and lazy GSM init (#2109) ...
|
These changes were released in v1.208.1-test.9. |
|
These changes were released in v1.208.1-test.10. |
Adds
retryfield support to workflow steps with a newworkflow_retryschema defining retry behavior (max attempts, backoff strategy, delay config). Fixes #2112.Summary by CodeRabbit
New Features