Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

bundle validate warns "Pattern ... does not match any files" for sync.include/exclude when the sync root is above the bundle root

Cerrado
#7,115 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go
Área
cli, testing

Línea de trabajo

Start with bundle/config/validate/validate_sync_patterns.go and bundle/config/mutator/sync_infer_root.go to trace how the sync root and rewritten patterns are used. Add a regression test for sync.paths reaching above the bundle root, using the provided reproduction, and run the relevant validation tests. Done means the matching exclude no longer warns under --strict.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the issue

databricks bundle validate reports Pattern ... does not match any files for a sync.exclude (or sync.include) pattern that does match files, when sync.paths reaches above the bundle directory. With --strict the warning becomes an error, so validate exits 1 even though the exclusion works.

Steps to reproduce
shared/a.py
app/tests/x.py
app/databricks.yml

app/databricks.yml:

bundle:
  name: repro
sync:
  paths: [../shared, .]
  exclude: [tests/**]

From app/: databricks bundle validate --strict -o json

Expected behavior

No warning. tests/** matches app/tests/x.py, and the resolved config already excludes it.

Actual behavior

Exit code 1 on v1.19.0:

Warning: Pattern app/tests/** does not match any files
  at sync.exclude[0]
  in databricks.yml:5:13

Error: 1 warning was found. Warnings are not allowed in strict mode

The resolved config (-o json) shows sync.exclude rewritten to ["app/tests/**"] and sync.paths to ["shared", "app"], so the sync itself uses the right pattern. Removing paths from the sync block makes the warning disappear.

Cause

From reading the source on main:

  • bundle/config/mutator/sync_infer_root.go sets the sync root to the common ancestor of sync.paths and rewrites each sync.include and sync.exclude entry relative to it (prefixing the bundle root's path from the sync root, here app/).
  • bundle/config/validate/validate_sync_patterns.go then globs each rewritten pattern with fileset.NewGlobSet(b.BundleRoot, ...), that is, against the bundle directory instead of the sync root. app/tests/** does not exist under app/, so it warns.

Suggested fix: glob against the sync root in validate_sync_patterns.go, and add a test for a sync root above the bundle root.

OS and CLI version

Reproduced on Databricks CLI v1.19.0, macOS. Source reading only for main; I did not run later releases.

Lenguaje dominante
Go
Estrellas
409
Forks
253
Merge medio
1 d 11 h
PR fusionados (30 d)
212

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de databricks/cli

Todos los issues de databricks/cli

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.