Skip to content

1.10.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 15:13
7c77c5a

Monorepo support

2026-07-31 · #29 · closes #28

Path-scoped GitOps triggers, so a Module in a monorepo re-runs only when the code it actually depends on changes. Previously trigger_on_source_changed fired on every commit to the tracked branch, meaning any commit anywhere re-ran everything.

The trigger decision is content-based rather than history-based: on each refresh the Runner reads the git tree hash of every watched directory from a bare clone (no working tree is ever materialised), the server composes a per-Module fingerprint over that set, and the Module triggers when the fingerprint moves. Force-pushes, rebases and squashes are therefore non-events unless watched content genuinely changed.

  • trigger_path_filter_enabled on Module and default_trigger_path_filter_enabled on Namespace — opt-in, default off. Existing behaviour is unchanged unless enabled.
  • Additional Trigger Paths — new child resources on Module and Namespace for declaring extra watched directories, with full CRUD, dashboard panels and Terraform provider support. Namespace-level paths join every filter-enabled Module in that namespace.
  • Automatic reference discovery — a new Go tool (snapcd-inspect, embedded in the Runner and self-extracted at runtime) resolves the transitive closure of local Terraform module calls (source = "../shared/network") at the candidate commit. Exact by construction, since Terraform requires literal string sources. .tf.json supported; registry and git sources ignored.
  • Component version tagsSemanticVersionRange extended to monorepo-style tags: ui-v1.2.*, backend/v2.*, 1.2.*-ui.