Skip to content

Run generated CI for every pull request - #181

Merged
PresentJay merged 3 commits into
PresentJay:mainfrom
aoto-tech:fix-ci-workflow-dbt-path-filters
Sep 7, 2026
Merged

PresentJay merged 3 commits into
PresentJay:mainfrom
aoto-tech:fix-ci-workflow-dbt-path-filters

Conversation

@aoto-tech

@aoto-tech aoto-tech commented Sep 6, 2026 •

Copy link
Copy Markdown

Fixes #147.

Generated workflows previously ran only for hardcoded model/macro paths and dbt_project.yml, so snapshot, seed, package, and renamed model-path changes could skip analysis entirely.

The generated workflow and committed example now run for every pull request. This follows the conservative alternative proposed in #147: a path filter is an optimization, and a partial YAML parser cannot safely infer all dbt paths, aliases, quoted keys, or Jinja/environment settings. It also avoids adding a runtime dependency. Existing fork credential protections, permissions, and concurrency settings are preserved.

Regression coverage generates workflows for default paths, inline and block lists (including unindented YAML sequences), quoted keys, aliases, and Jinja settings, and checks that none silently excludes inputs. The example has the same unrestricted pull-request trigger.

Validation: 1,707 tests passed with 19 skipped in the local full suite with dbt and MCP extras installed. After merging current main, 145 focused workflow, CLI, and agent-guide tests passed; Ruff lint/format checks passed. GitHub CI must pass on the final head before merge.

The original contribution and maintainer follow-up commits are retained in this PR. The maintainer simplified the path-reader approach after review exposed valid YAML configurations it missed.

@PresentJay PresentJay left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The template and example changes cover the intended inputs, but the custom YAML reader misses a valid block-list spelling:

model-paths:
- transformations

This currently generates models/** instead of transformations/**, so CI silently misses model changes. The same risk exists when unsupported YAML syntax is treated as if no custom paths were configured.

I will add regression coverage and fix the generator so it never silently narrows CI to guessed default paths. We will keep this earlier PR rather than #182 because this one updates the actual ci-setup generator as well as the example. Thank you for tackling the configurable-path case.

@PresentJay

Copy link
Copy Markdown
Owner

I pushed the review fix while retaining your original commits. Rather than extend a partial YAML parser into another set of edge cases, the final generator and example now run on every PR, the conservative alternative explicitly proposed in #147. This handles unindented lists, quoted keys, YAML aliases, Jinja/environment-dependent paths, and changes to package inputs without guessing what can be excluded. The tradeoff is additional CI runs on unrelated PRs; it removes the silent missing-check failure and adds no dependency.

Seven generated-workflow regression cases failed before the change. The full local suite now passes (1,707 passed, 19 skipped, dbt and MCP installed), and 145 focused tests plus Ruff checks passed after incorporating current main. I updated the PR title/body to describe the final behavior. Thank you for covering the generator and example together; that is why we are retaining this earlier PR over #182.

@PresentJay PresentJay changed the title Fix generated CI workflow path filters Run generated CI for every pull request Sep 7, 2026

@PresentJay PresentJay left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The final workflow and example run on every PR, so valid YAML/Jinja path configurations and package inputs cannot silently suppress analysis. The partial path reader is removed, with generated-workflow regressions covering the missed YAML forms. Existing fork protections and least-privilege permissions are preserved.

All GitHub checks pass on 6742cd9, including Linux, Windows, minimum dependencies, and lint. Local validation: 1,707 passed / 19 skipped in the full suite with dbt and MCP installed, 145 focused tests after updating main, and 1,697 passed / 19 skipped in the combined-PR suite excluding the already exercised live dbt E2E module. Ruff checks pass.

Approved; this resolves my earlier change request. We are retaining this earlier contribution and closing #182 as overlapping scope after merge. Thank you for addressing both the real generator and the example.

@PresentJay
PresentJay merged commit eb2ae1d into PresentJay:main Sep 7, 2026
13 checks passed
@aoto-tech

Copy link
Copy Markdown
Author

@PresentJay thx Jay

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.

The generated CI workflow never runs for snapshot, seed, package or renamed model-paths changes

2 participants