Skip to content

Add checkout.submodules to schema#164

Merged
petetomasik merged 11 commits into
feat/git-checkout-featuresfrom
SUP-6531-add-submodules-support
May 29, 2026
Merged

Add checkout.submodules to schema#164
petetomasik merged 11 commits into
feat/git-checkout-featuresfrom
SUP-6531-add-submodules-support

Conversation

@petetomasik
Copy link
Copy Markdown

@petetomasik petetomasik commented May 21, 2026

Summary

Adds submodules boolean to the shared checkout definition, giving pipeline authors per-step (and pipeline-level) control over git submodule processing.

When true (the agent default), the agent initializes, syncs, updates, and cleans submodules recursively as part of checkout. When false, submodule processing is skipped.

Changes

  • schema.json: add submodules: boolean to the checkout definition.
  • test/schema.test.js: reject non-boolean values for checkout.submodules.
  • test/valid-pipelines/checkout.yml and command.yml: fixture coverage for true and false.

Validation

  • npm test (20/20 passing)
  • npm run format:check

Base automatically changed from SUP-6144-add-checkout-skip to feat/git-checkout-features May 22, 2026 16:46
@buildsworth-bk-app buildsworth-bk-app Bot removed the request for review from buildsworth-bk May 22, 2026 20:17
Copy link
Copy Markdown

@buildsworth-bk-app buildsworth-bk-app Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Schema addition follows the existing pattern for checkout.skip (same enum: [true, false, "true", "false"] shape, same default placement), and the tests cover both nesting levels and the non-boolean rejection path. Nothing to flag.

Not approving because the PR has no risk: label — the workflow needs an explicit risk:L1 to auto-approve, even for an additive schema field like this.

One tiny inconsistency worth a glance (not blocking): the PR description says "No default is set in the schema so the agent default applies when the field is omitted," but the schema sets "default": true. JSON-schema default is informational only, so behaviour is unaffected — just flagging in case the description is the source of truth and the default should be dropped (or vice versa).

Want to dig deeper? The full session log is attached to this Buildkite build. Download the session file and open a new pi session with it:

Download the buildsworth logs from build 181, then answer my findings.

@petetomasik petetomasik merged commit 4162739 into feat/git-checkout-features May 29, 2026
3 checks passed
@petetomasik petetomasik deleted the SUP-6531-add-submodules-support branch May 29, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants