Skip to content

feat: Dependency-aware targets via Turborepo#203

Open
JacksonMeade wants to merge 1 commit intomainfrom
feat/add-turbo-based-tag-versioning
Open

feat: Dependency-aware targets via Turborepo#203
JacksonMeade wants to merge 1 commit intomainfrom
feat/add-turbo-based-tag-versioning

Conversation

@JacksonMeade
Copy link
Contributor

Updates auto-deploy so tags and deploys run for affected apps based on the workspace dependency graph, not only on changes under apps/.

Problem

“Detect Build Target” only looked at apps/ changes. Edits in shared/ (e.g. shared/database, shared/authentication) did not trigger deploys for backend or auth, even though both depend on those packages.

Changes

When no target is provided (e.g. push to main), the setup job runs turbo ls --affected (comparing HEAD^ to HEAD) and parses the result to get app names under apps/. Shared-only changes now correctly include both apps in the deploy matrix.

Turbo is used only for affected detection; a minimal root turbo.json and a build task define the graph. Existing npm/Docker builds are unchanged.

  • Setup job: for the no-target path, adds Node setup, node_modules cache, and npm ci before turbo ls. Manual deploy (with target set) is unchanged.
  • Root package.json: added packageManager: "npm@10.9.4" and turbo as a devDependency so Turbo can resolve workspaces without the package-manager override.
  • Manual deploys and the rest of the pipeline (tagging, build, deploy) are unchanged; only how the target list is computed is now dependency-aware.

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.

1 participant